ceph存放mysql备份_Kubernetes持久化Ceph存储

article/2025/8/25 17:47:20

一、依然简介

Kubernetes使用Persistent Volume和Persistent Volume Claim两种API资源来管理存储。

PersistentVolume(简称PV):由管理员设置的存储,它是集群的一部分。就像节点(Node)是集群中的资源一样,PV也是集群中的资源。它包含存储类型,存储大小和访问模式。它的生命周期独立于Pod,例如当使用它的Pod销毁时对PV没有影响。

PersistentVolumeClaim(简称PVC): 是用户存储的请求。它和Pod类似。Pod消耗Node资源,PVC消耗PV资源。Pod可以请求特定级别的资源(CPU和MEM)。PVC可以请求特定大小和访问模式的PV。

可以通过两种方式配置PV:静态或动态。

静态PV:集群管理员创建许多PV,它们包含可供集群用户使用的实际存储的详细信息。

动态PV:当管理员创建的静态PV都不匹配用户创建的PersistentVolumeClaim时,集群会为PVC动态的配置卷。此配置基于StorageClasses:PVC必须请求存储类(storageclasses),并且管理员必须已创建并配置该类,以便进行动态创建。

二、关于PersistentVolume的访问方式

ReadWriteOnce- 卷以读写方式挂载到单个节点

ReadOnlyMany- 卷以只读方式挂载到多个节点

ReadWriteMany- 卷以读写方式挂载到多个节点

在CLI中,访问模式缩写为:RWO - ReadWriteOnce

ROX - ReadOnlyMany

RWX - ReadWriteMany

重要:卷只能一次使用一种访问模式安装,即使它支持很多。

三、关于回收策略Retain-  手动回收

Recycle-  基本擦洗(rm -rf /thevolume/*)

Delete -  关联的存储资产(如AWS EBS,GCE PD,Azure磁盘或OpenStack Cinder卷)将被删除。

目前,只有NFS和HostPath支持回收。AWS EBS,GCE PD,Azure磁盘和Cinder卷支持删除。

四、关于PersistentVolume(PV)状态Available(可用状态)-   一块空闲资源还没有被任何声明绑定

Bound(绑定状态)       -   声明分配到PVC进行绑定,PV进入绑定状态

Released(释放状态)    -   PVC被删除,PV进入释放状态,等待回收处理

Failed(失败状态)      -   PV执行自动清理回收策略失败

五、关于PersistentVolumeClaims(PVC)状态Pending(等待状态)-   等待绑定PV

Bound(绑定状态)-   PV已绑定PVC

六、在所有k8s节点上安装ceph-common

七、配置静态PV

1.在默认的RBD pool中创建一个1G的image(ceph集群)# ceph osd pool create rbd 128

pool 'rbd' created

# ceph osd lspools

# rbd create ceph-image -s 1G --image-feature layering       ##创建1G的镜像并指定layering特性

# rbd ls

ceph-image

# ceph osd pool application enable rbd ceph-image            ##进行关联

enabled application 'ceph-image' on pool 'rbd'

# rbd info ceph-image

rbd image 'ceph-image':

size 1 GiB in 256 objects

order 22 (4 MiB objects)

id: 13032ae8944a

block_name_prefix: rbd_data.13032ae8944a

format: 2

features: layering

op_features:

flags:

create_timestamp: Sun Jul 29 13:00:36 2018

2.配置ceph secret(ceph+kubernetes)# ceph auth get-key client.admin | base64        ##获取client.admin的keyring值,并用base64编码(ceph集群)

QVFDOUgxdGJIalc4SWhBQTlCOXRNUCs5RUV3N3hiTlE4NTdLVlE9PQ==

# vim ceph-secret.yaml

apiVersion: v1

kind: Secret

metadata:

name: ceph-secret

type: kubernetes.io/rbd

data:

key: QVFDOUgxdGJIalc4SWhBQTlCOXRNUCs5RUV3N3hiTlE4NTdLVlE9PQ==

# kubectl create -f ceph-secret.yaml

secret/ceph-secret created

# kubectl get secret ceph-secret

NAME             TYPE                       DATA   AGE

ceph-secret      kubernetes.io/rbd          1      3s

3.创建PV(kubernetes)# vim ceph-pv.yaml

apiVersion: v1

kind: PersistentVolume

metadata:

name: ceph-pv

spec:

capacity:

storage: 1Gi

accessModes:

- ReadWriteOnce

storageClassName: "rbd"

rbd:

monitors:

- 192.168.100.116:6789

- 192.168.100.117:6789

- 192.168.100.118:6789

pool: rbd

image: ceph-image

user: admin

secretRef:

name: ceph-secret

fsType: xfs

readOnly: false

persistentVolumeReclaimPolicy: Recycle

# kubectl create -f ceph-pv.yaml

persistentvolume/ceph-pv created

# kubectl get pv

NAME    CAPACITY   ACCESS MODES   RECLAIM POLICY

ceph-pv   1Gi         RWO            Recycle

STATUS   CLAIM     STORAGECLASS   REASON    AGE

Available             rbd                   1m

4.创建PVC(kubernetes)# vim ceph-claim.yaml

apiVersion: v1

kind: PersistentVolumeClaim

metadata:

name: ceph-claim

spec:

storageClassName: "rbd"

accessModes:

- ReadWriteOnce

resources:

requests:

storage: 1Gi

# kubectl create -f ceph-claim.yaml

persistentvolumeclaim/ceph-claim created

# kubectl get pvc ceph-claim

NAME        STATUS  VOLUME   CAPACITY  ACCESS MODES  STORAGECLASS  AGE

ceph-claim  Bound   ceph-pv    1Gi     RWO           rbd           20s

# kubectl get pv

NAME      CAPACITY   ACCESS MODES   RECLAIM POLICY

ceph-pv   1Gi        RWO            Recycle

STATUS    CLAIM             STORAGECLASS   REASON    AGE

Bound     default/ceph-claim   rbd                   1m

5.创建pod(kubernetes)# vim ceph-pod1.yaml

apiVersion: v1

kind: Pod

metadata:

name: ceph-pod1

spec:

containers:

- name: ceph-busybox

image: busybox

command: ["sleep", "60000"]

volumeMounts:

- name: ceph-vol1

mountPath: /usr/share/busybox

readOnly: false

volumes:

- name: ceph-vol1

persistentVolumeClaim:

claimName: ceph-claim

# kubectl create -f ceph-pod1.yaml

pod/ceph-pod1 created

# kubectl get pod ceph-pod1

NAME        READY     STATUS    RESTARTS   AGE

ceph-pod1   1/1       Running   0          2m

# kubectl get pod ceph-pod1 -o wide

NAME        READY     STATUS    RESTARTS   AGE   IP            NODE

ceph-pod1   1/1       Running   0          2m    10.244.88.2   node3

6.测试

进入到该Pod中,向/usr/share/busybox目录写入一些数据,之后删除该Pod,再创建一个新的Pod,看之前的数据是否还存在。# kubectl exec -it ceph-pod1 -- /bin/sh

/ # ls

bin   dev   etc   home  proc  root  sys   tmp   usr   var

/ # cd /usr/share/busybox/

/usr/share/busybox # ls

/usr/share/busybox # echo 'Hello from Kubernetes storage' > k8s.txt

/usr/share/busybox # cat k8s.txt

Hello from Kubernetes storage

/usr/share/busybox # exit

# kubectl delete pod ceph-pod1

pod "ceph-pod1" deleted

# kubectl apply -f ceph-pod1.yaml

pod "ceph-pod1" created

# kubectl get pod -o wide

NAME        READY     STATUS    RESTARTS   AGE    IP          NODE

ceph-pod1   1/1       Running   0          15s   10.244.91.3  node02

# kubectl exec ceph-pod1 -- cat /usr/share/busybox/k8s.txt

Hello from Kubernetes storage

八、配置动态PV

1.创建RBD pool(ceph)# ceph osd pool create kube 128

pool 'kube' created

2.授权 kube 用户(ceph)# ceph auth get-or-create client.kube mon 'allow r' osd 'allow class-read, allow rwx pool=kube' -o ceph.client.kube.keyring

# ceph auth get client.kube

exported keyring for client.kube

[client.kube]

key = AQB2cFxbYZtRBhAAi6xcvhEW7SYx3PlBY/0O0Q==

caps mon = "allow r"

caps osd = "allow class-read, allow rwx pool=kube"

注:

Ceph使用术语“capabilities”(caps)来描述授权经过身份验证的用户使用监视器、OSD和元数据服务器的功能。功能还可以根据应用程序标记限制对池中的数据,池中的命名空间或一组池的访问。Ceph管理用户在创建或更新用户时设置用户的功能。

Mon 权限: 包括 r 、 w 、 x 。

OSD 权限: 包括 r 、 w 、 x 、 class-read 、 class-write 。另外,还支持存储池和命名空间的配置。

3.创建 ceph secret(ceph+kubernetes)# ceph auth get-key client.admin | base64              ##获取client.admin的keyring值,并用base64编码

QVFDOUgxdGJIalc4SWhBQTlCOXRNUCs5RUV3N3hiTlE4NTdLVlE9PQ==

# ceph auth get-key client.kube | base64               ##获取client.kube的keyring值,并用base64编码

QVFCMmNGeGJZWnRSQmhBQWk2eGN2aEVXN1NZeDNQbEJZLzBPMFE9PQ==

# vim ceph-kube-secret.yaml

apiVersion: v1

kind: Namespace

metadata:

name: ceph

---

apiVersion: v1

kind: Secret

metadata:

name: ceph-admin-secret

namespace: ceph

type: kubernetes.io/rbd

data:

key: QVFDOUgxdGJIalc4SWhBQTlCOXRNUCs5RUV3N3hiTlE4NTdLVlE9PQ==

---

apiVersion: v1

kind: Secret

metadata:

name: ceph-kube-secret

namespace: ceph

type: kubernetes.io/rbd

data:

key: QVFCMmNGeGJZWnRSQmhBQWk2eGN2aEVXN1NZeDNQbEJZLzBPMFE9PQ==

# kubectl create -f ceph-kube-secret.yaml

namespace/ceph created

secret/ceph-admin-secret created

secret/ceph-kube-secret created

# kubectl get secret -n ceph

NAME                  TYPE                                  DATA   AGE

ceph-admin-secret     kubernetes.io/rbd                     1      13s

ceph-kube-secret      kubernetes.io/rbd                     1      13s

default-token-tq2rp   kubernetes.io/service-account-token   3      13s

4.创建动态RBD StorageClass(kubernetes)# vim ceph-storageclass.yaml

apiVersion: storage.k8s.io/v1

kind: StorageClass

metadata:

name: ceph-rbd

annotations:

storageclass.kubernetes.io/is-default-class: "true"

provisioner: kubernetes.io/rbd

parameters:

monitors: 192.168.100.116:6789,192.168.100.117:6789,192.168.100.118:6789

adminId: admin

adminSecretName: ceph-admin-secret

adminSecretNamespace: ceph

pool: kube

userId: kube

userSecretName: ceph-kube-secret

fsType: xfs

imageFormat: "2"

imageFeatures: "layering"

# kubectl create -f ceph-storageclass.yaml

storageclass.storage.k8s.io/ceph-rbd created

# kubectl get sc

NAME                 PROVISIONER         AGE

ceph-rbd (default)   kubernetes.io/rbd   10s

注:

storageclass.kubernetes.io/is-default-class:注释为true,标记为默认的StorageClass,注释的任何其他值或缺失都被解释为false。

monitors:Ceph监视器,逗号分隔。此参数必需。

adminId:Ceph客户端ID,能够在pool中创建images。默认为“admin”。

adminSecretNamespace:adminSecret的namespace。默认为“default”。

adminSecret:adminId的secret。此参数必需。提供的secret必须具有“kubernetes.io/rbd”类型。

pool:Ceph RBD池。默认为“rbd”。

userId:Ceph客户端ID,用于映射RBD image。默认值与adminId相同。

userSecretName:用于userId映射RBD image的Ceph Secret的名称。它必须与PVC存在于同一namespace中。此参数必需。提供的secret必须具有“kubernetes.io/rbd”类型,例如以这种方式创建:

kubectl create secret generic ceph-secret --type="kubernetes.io/rbd" \ --from-literal=key='QVFEQ1pMdFhPUnQrSmhBQUFYaERWNHJsZ3BsMmNjcDR6RFZST0E9PQ==' \ --namespace=kube-system

fsType:kubernetes支持的fsType。默认值:"ext4"。

imageFormat:Ceph RBD image格式,“1”或“2”。默认值为“1”。

imageFeatures:此参数是可选的,只有在设置imageFormat为“2”时才能使用。目前仅支持的功能为layering。默认为“”,并且未开启任何功能。

默认的StorageClass标记为(default)

5.创建Persistent Volume Claim(kubernetes)

动态卷配置的实现基于StorageClass API组中的API对象storage.k8s.io。

集群管理员可以 StorageClass根据需要定义任意数量的对象,每个对象都指定一个卷插件(也称为 配置器),用于配置卷以及在配置时传递给该配置器的参数集。集群管理员可以在集群中定义和公开多种存储(来自相同或不同的存储系统),每种存储都具有一组自定义参数。此设计还确保最终用户不必担心如何配置存储的复杂性和细微差别,但仍可以从多个存储选项中进行选择。

用户通过在其中包含存储类来请求动态调配存储PersistentVolumeClaim。# vim ceph-pvc.yaml

apiVersion: v1

kind: PersistentVolumeClaim

metadata:

name: ceph-pvc

namespace: ceph

spec:

storageClassName: ceph-rbd

accessModes:

- ReadOnlyMany

resources:

requests:

storage: 1Gi

# kubectl create -f ceph-pvc.yaml

persistentvolumeclaim/ceph-pvc created

# kubectl get pvc -n ceph

NAME       STATUS    VOLUME

ceph-pvc   Bound     pvc-e55fdebe-9487-11e8-b987-000c29e75f2a

CAPACITY   ACCESS MODES   STORAGECLASS   AGE

1Gi        ROX            ceph-rbd       5s

6.创建Pod并测试# vim ceph-pod2.yaml

apiVersion: v1

kind: Pod

metadata:

name: ceph-pod2

namespace: ceph

spec:

containers:

- name: ceph-busybox

image: busybox

command: ["sleep", "60000"]

volumeMounts:

- name: ceph-vol1

mountPath: /usr/share/busybox

readOnly: false

volumes:

- name: ceph-vol1

persistentVolumeClaim:

claimName: ceph-pvc

# kubectl create -f ceph-pod2.yaml

pod/ceph-pod2 created

# kubectl -n ceph get pod ceph-pod2 -o wide

NAME        READY   STATUS   RESTARTS   AGE   IP           NODE

ceph-pod2   1/1     Running  0          3m    10.244.88.2  node03

# kubectl -n ceph exec -it ceph-pod2 -- /bin/sh

/ # echo 'Ceph from Kubernetes storage' > /usr/share/busybox/ceph.txt

/ # exit

# kubectl -n ceph delete pod ceph-pod2

pod "ceph-pod2" deleted

# kubectl apply -f ceph-pod2.yaml

pod/ceph-pod2 created

# kubectl -n ceph get pod ceph-pod2 -o wide

NAME        READY     STATUS    RESTARTS   AGE  IP            NODE

ceph-pod2   1/1       Running   0          2m   10.244.88.2   node03

# kubectl -n ceph exec ceph-pod2 -- cat /usr/share/busybox/ceph.txt

Ceph from Kubernetes storage

九、使用持久卷部署WordPress和MariaDB

1.为MariaDB密码创建一个Secret# kubectl -n ceph create secret generic mariadb-pass --from-literal=password=zhijian

secret/mariadb-pass created

# kubectl -n ceph get secret mariadb-pass

NAME           TYPE      DATA      AGE

mariadb-pass   Opaque    1         37s

2.部署MariaDB

MariaDB容器在PersistentVolume上挂载 /var/lib/mysql。

设置MYSQL_ROOT_PASSWORD环境变量从Secret读取数据库密码。# vim mariadb.yaml

apiVersion: v1

kind: Service

metadata:

name: wordpress-mariadb

namespace: ceph

labels:

app: wordpress

spec:

ports:

- port: 3306

selector:

app: wordpress

tier: mariadb

clusterIP: None

---

apiVersion: v1

kind: PersistentVolumeClaim

metadata:

name: mariadb-pv-claim

namespace: ceph

labels:

app: wordpress

spec:

storageClassName: ceph-rbd

accessModes:

- ReadWriteOnce

resources:

requests:

storage: 2Gi

---

apiVersion: apps/v1

kind: Deployment

metadata:

name: wordpress-mariadb

namespace: ceph

labels:

app: wordpress

spec:

selector:

matchLabels:

app: wordpress

tier: mariadb

strategy:

type: Recreate

template:

metadata:

labels:

app: wordpress

tier: mariadb

spec:

containers:

- image: 192.168.100.100/library/mariadb:5.5

name: mariadb

env:

- name: MYSQL_ROOT_PASSWORD

valueFrom:

secretKeyRef:

name: mariadb-pass

key: password

ports:

- containerPort: 3306

name: mariadb

volumeMounts:

- name: mariadb-persistent-storage

mountPath: /var/lib/mysql

volumes:

- name: mariadb-persistent-storage

persistentVolumeClaim:

claimName: mariadb-pv-claim

# kubectl create -f mariadb.yaml

service/wordpress-mariadb created

persistentvolumeclaim/mariadb-pv-claim created

deployment.apps/wordpress-mariadb created

# kubectl -n ceph get pvc                            ##查看PVC

NAME               STATUS    VOLUME                                     CAPACITY   ACCESS MODES   STORAGECLASS   AGE

mariadb-pv-claim   Bound     pvc-33dd4ae7-9bb0-11e8-b987-000c29e75f2a   2Gi        RWO            ceph-rbd       2m

# kubectl -n ceph get pod                            ##查看Pod

NAME                                READY     STATUS    RESTARTS   AGE

wordpress-mariadb-f4d44db9c-fqchx   1/1       Running   0          1m

3.部署WordPress# vim wordpress.yaml

apiVersion: v1

kind: Service

metadata:

name: wordpress

namespace: ceph

labels:

app: wordpress

spec:

ports:

- port: 80

selector:

app: wordpress

tier: frontend

type: LoadBalancer

---

apiVersion: v1

kind: PersistentVolumeClaim

metadata:

name: wp-pv-claim

namespace: ceph

labels:

app: wordpress

spec:

accessModes:

- ReadWriteOnce

resources:

requests:

storage: 2Gi

---

apiVersion: apps/v1

kind: Deployment

metadata:

name: wordpress

namespace: ceph

labels:

app: wordpress

spec:

selector:

matchLabels:

app: wordpress

tier: frontend

strategy:

type: Recreate

template:

metadata:

labels:

app: wordpress

tier: frontend

spec:

containers:

- image: 192.168.100.100/library/wordpress:4.9.8-apache

name: wordpress

env:

- name: WORDPRESS_DB_HOST

value: wordpress-mariadb

- name: WORDPRESS_DB_PASSWORD

valueFrom:

secretKeyRef:

name: mariadb-pass

key: password

ports:

- containerPort: 80

name: wordpress

volumeMounts:

- name: wordpress-persistent-storage

mountPath: /var/www/html

volumes:

- name: wordpress-persistent-storage

persistentVolumeClaim:

claimName: wp-pv-claim

# kubectl create -f wordpress.yaml

service/wordpress created

persistentvolumeclaim/wp-pv-claim created

deployment.apps/wordpress created

# kubectl -n ceph get pvc wp-pv-claim                 ##查看PVC

NAME          STATUS    VOLUME                                     CAPACITY   ACCESS MODES   STORAGECLASS   AGE

wp-pv-claim   Bound     pvc-334b3bd9-9bde-11e8-b987-000c29e75f2a   2Gi        RWO            ceph-rbd       46s

# kubectl -n ceph get pod                             ##查看Pod

NAME                                READY     STATUS    RESTARTS   AGE

wordpress-5c4ffdcb85-6ftfx          1/1       Running   0          1m

wordpress-mariadb-f4d44db9c-fqchx   1/1       Running   0          5m

# kubectl -n ceph get services wordpress              ##查看Service

NAME       TYPE          CLUSTER-IP      EXTERNAL-IP  PORT(S)     AGE

wordpress  LoadBalancer  10.244.235.175     80:32473/TCP 4m

8789d86792aed818856532ce988f9ed9.png

3f472498c2a1bda833c6828157b5d426.png

ea71086e37e124f90e15c7bd97f79a3f.png

a8f57b4b39da57414eec2a3417ec5e0b.png

3cf395299160f686cafbf7ca21c4dab3.png

b1f2effaf579d45438105556ca77ca80.png

注:本篇文章参考了该篇文章,感谢:


http://chatgpt.dhexx.cn/article/CjWVKJu4.shtml

相关文章

关于 Ceph 存储集群配置的一些笔记

写在前面 Ceph 考试整理笔记,老师总结基础上,略有补充博文内容涉及: ceph 集群的配置简单介绍永久和零时修改集群配置文件集群 Mon 的配置集群身份验证的配置集群多网络的配置 理解不足小伙伴帮忙指正 对每个人而言,真正的职责只有…

ceph存储快速部署

前言:ceph的基本介绍 Ceph是一个统一的分布式存储系统,设计初衷是提供较好的性能、可靠性和可扩展性。 Ceph特点: 1.高性能: a. 摒弃了传统的集中式存储元数据寻址的方案,采用CRUSH算法,数据分布均衡,并…

Ceph存储

集中式存储 所谓集中式系统就是指由一台或多台主计算机组成中心节点,数据集中存储于这个中心节点中,并且整个系统的所有业务单元都集中 部署在这个中心节点上,系统所有的功能均由其集中处理。也就是说,集中式系统中,每个终端或客户端仅仅负责 数据的录入和 输出,而数据的存储与…

ceph(分布式存储)

文章目录 一、ceph的组件和功能1.简介2.层次结构和功能 二、ceph的数据读写流程三、使用ceph-deploy安装一个最少三个节点的ceph集群(推荐3个或以上的磁盘作为专用osd)1.基础配置配置主机名给三台主机写入hosts解析配置node1到所有节点root用户免密钥互信配置时间同步在node1上…

【ceph】学习笔记(三)三大存储模式简介

Ceph本身是一个统一存储,支持块、对象和文件等所有存储形态 在RADOS集群之上,Ceph构建了块存储、文件存储和对象存储等存储形态。由于RADOS集群本身是以对象为粒度进行数据存储的,因此上述三种存储形态,在最终存储数据的时候都划…

Ceph分布式存储

目录 一、ceph简介 1、什么是ceph 2、ceph支持的三种存储方式 1)块存储RBD 2)对象存储RGW 3)文件系统存储ceph-fs 3、ceph的主要特点 4、ceph组件作用 OSD:(Object Storage Device) Monitors MD…

Ceph 存储介绍

文章目录 一、Ceph 简介二、Ceph 特点三、Ceph 应用场景四、Ceph 核心组件五、Ceph 存储系统的逻辑层次结构六、RADOS 的系统逻辑结构七、Ceph 数据存储过程八、Ceph IO 流程及数据分布1. 正常 IO 流程图2. 新主 IO 流程图 九、Ceph Pool 和 PG 分布情况 一、Ceph 简介 ceph 是…

王道2021版计算机考研书勘误表

转载于 王道论坛 计算机考研QQ群,很多大学的计算机考研/软件考研资料(见群文件) 群号是 954288959 您还可以在以下平台找到我们 你点的每个在看,我都认真当成了喜欢

计算机组成原理【by王道考研计算机】

文章目录 第一章1. 什么是计算机系统2. 硬件的发展3. 计算机硬件的基本组成冯诺依曼结构现代计算机结构主存储器运算器控制器工作过程实例 4. 计算机系统的层次结构五层结构三种级别的语言 5. 计算机的性能指标存储器的容量CPU其他常用时间单位 第二章1. 进制转换2. 字符与字符…

王道考研-计算机网络

目录 P1 1.1.1 概念、组成、功能、分类1.计算机网络概念2.计算机网络的功能3.计算机网络的组成4.计算机网络分类 P2 1.1.2 标准化工作机器相关组织1.标准化工作 P3 1.1.3 速度指标1.速率与带宽2.吞吐量4.性能指标2.时延带宽积3.往返时延RTT4.利用率 P5 1.2.1 分层结构、协议、接…

王道考研系列 计算机考研 ——机试指南(第二版) 笔记(一)

计算机机试,王道机试指南(第二版)笔记 机试指南一些笔记。。。 题目代码github链接 https://github.com/BenedictYoung 链接 视频 and pdf 链接:https: //pan.bai du. com/s/1WFl E5hWgg Y9c3J97 fVbsRg?pwd xwep 提取 码&#…

2021王道考研pdf

参考一:(2021) https://www.bilibili.com/read/cv5517739/ 计算机考研王道天勤PDF百度网盘(数据结构、操作系统、计算机组成原理、计算机网络)(!!!!b站这个链…

操作系统笔记(含王道计算机考研——操作系统课件)

操作系统(OS) 笔记根据B站王道计算机考研——操作系统视频整理所得,视频链接:https://b23.tv/0I2qex视频中所用课件:链接:https://pan.baidu.com/s/101bFWm0Tv0emNpEneidYPA 提取码:y3dd笔记md…

一篇学完:王道考研408计算机网络(全)

笔记首发于:lengyueling.cn PDF版本附在 lengyueling.cn 对应文章结尾,欢迎下载访问交流 网络体系结构 概念与功能 网络:网样的东西或者网站系统 计算机网络:是一个将分散的、具有独立功能的计算机系统,通过通信设…

24考研王道计算机组成原理笔记

24考研王道计算机组成原理笔记 文章目录 24考研王道计算机组成原理笔记前言一、计算机系统概述1.1 计算机的发展1.2 计算机硬件1.2.1 计算机硬件的基本组成1.2.2 各个硬件的工作原理1.2.3 计算机系统的层次结构 1.3 计算机性能指标1.3.1 存储器性能指标1.3.2 CPU性能指标1.3.3 …

2023年计算机考研专业课408 - 王道书资源做题本OneNote电子笔记

💻cs-408 构建本仓库的初衷是记录自己备考计算机专业课408的过程本仓库收纳了2023年四本王道复习指导书和2023年王道书上的刷题本本仓库分享了一些自己从2022年6月备考以来的学习408心得本仓库分享了自己使用OntNote制作的电子笔记 希望本仓库的一些经验和资源能够…

考研408 王道计算机考研 (初试/复试) 网课笔记总结

计算机初试、复试笔记总结(导航栏)📝 408 考研人,人狠话不多:3、2、1,上链接 ! 408 考研初试 - 备战期,专业课笔记,导航🚥🚥🚥 &…

2023考研计算机408王道考研网盘资源

23考研王道考研计算机408网盘资源,关注【小黑马资料库】工粽号,获取全部资料吧! 在父亲眼里,他自己成绩优秀是理所当然的,因此他无法容忍自己的儿子头脑不聪明且成绩不优秀。因此,类似于“我很笨&#xff…

数据结构(王道计算机考研笔记)

一、数据结构概念: 对数据之间的关系的结构类型进行总结归纳。 学好这门课,让我们成为信息革命的参与者。 名词解析: 数据项:您申请一个微博账号,其中姓名,性别这些就是数据项 组合项:您账号…

计算机网络:王道考研

前言 计算机考研课程408包括计组、计网、操作系统、数据结构与算法,计组在21年就补完了——计算机组成原理:最详细笔记!,数据结构与算法、操作系统都看了,就差计网这个八股文,系统的听了一遍考研课程《王道-计算机网络…