[关闭]
@mrz1 2017-12-17T09:12:57.000000Z 字数 9434 阅读 664

2017-12-6课程笔记(RAID 逻辑卷)

笔记


软RAID

mdadm:为软RAID提供管理界面
为空余磁盘添加冗余
结合内核中的md(multi devices)
RAID设备可命名为/dev/md0、/dev/md1、/dev/md2、/dev/md3等

软件RAID的实现

  1. mdadm:模式化的工具
  2. 命令的语法格式:mdadm[mode] <raiddevice> [options] <component-devices>
  3. 支持的RAID级别:LINEAR, RAID0, RAID1, RAID4, RAID5, RAID6, RAID10
  4. 模式:
  5. 创建:-C
  6. 装配: -A
  7. 监控: -F
  8. 管理:-f, -r, -a
  9. <raiddevice>: /dev/md#
  10. <component-devices>: 任意块设备
  11. -C: 创建模式
  12. -n #: 使用#个块设备来创建此RAID
  13. -l #:指明要创建的RAID的级别
  14. -a {yes|no}:自动创建目标RAID设备的设备文件
  15. -c CHUNK_SIZE: 指明块大小
  16. -x #: 指明空闲盘的个数
  17. -D:显示raid的详细信息;
  18. mdadm -D /dev/md#
  19. 管理模式:
  20. -f: 标记指定磁盘为损坏
  21. -a: 添加磁盘
  22. -r: 移除磁盘
  23. 观察md的状态:cat /proc/mdstat

软RAID配置示例

  1. 使用mdadm创建并定义RAID设备
  2. mdadm -C /dev/md0 -a yes -l 5 -n 3 -x 1 /dev/sdb1 /dev/sdc1 /dev/sdd1 /dev/sde1
  3. 用文件系统对每个RAID设备进行格式化
  4. mke2fs -j /dev/md0
  5. 测试RAID设备使用mdadm检查RAID设备的状况
  6. mdadm --detail|D /dev/md0
  7. 增加新的成员mdadm G /dev/md0 n4 -a /dev/sdf1

软RAID测试和修复

  1. 模拟磁盘故障
  2. mdadm /dev/md0 -f /dev/sda1
  3. 移除磁盘
  4. mdadm /dev/md0 r /dev/sda1
  5. 从软件RAID磁盘修复磁盘故障
  6. •替换出故障的磁盘然后开机
  7. •在备用驱动器上重建分区
  8. mdadm /dev/md0 -a /dev/sda1
  9. mdadm、/proc/mdstat及系统日志信息

软RAID管理

  1. 生成配置文件:mdadm D s >> /etc/mdadm.conf
  2. 停止设备:mdadm S /dev/md0
  3. 激活设备:mdadm A s /dev/md0 激活
  4. 强制启动:mdadm R /dev/md0
  5. 删除raid信息:mdadm --zero-superblock /dev/sdb1

制作RAID-5

第一步:创建分区

  1. 准备硬盘大小相等
  2. 硬盘分区fdist /dev/sda
  3. n +5G RAID记得改ID
  4. t 7(7的意思是sda7) L fd
  5. w
  6. dd if=/dev/sda7 of=/dev/sdc bs=q count=512
  7. partx -a /dev/sda ...同步

第二步:创建RAID

  1. mdadm -C /dev/md0 -a yes -l 5 -n 4 -x 1 /dev/sd{a6,b1,c1d1,e}
  2. -C: 创建模式
  3. -a {yes|no}:自动创建目标RAID设备的设备文件
  4. -l #:指明要创建的RAID的级别
  5. -n #: 使用#个块设备来创建此RAID
  6. -x #: 指明空闲盘的个数
  7. mdadm -D /dev/md0 //查看创建过程状态详细 (五块块硬盘:一个是做校验位了;三块硬盘真正起作用;剩下一块是监控)
  8. cat /proc/mdstat //也可以看RAID
  9. blkid 查看的话 有两个uuid 第一个是raid的总id第二个是子id
  10. mdadm -Ds /dev/md0 > /etc/mdadm.conf //生成这个文件这样开机的话才能找到这个设备
  11. mdadm -S /dev/md0 //禁用这个设备
  12. mdadm -A /dev/md0 //激活这个设备

第二步:创建RAID系统

  1. mkfs.ext4 /dev/md0 //创建系统
  2. vim /etc/fatab 编辑 --->uuid 挂载点 ext4 defaults 0 0
  3. 创建挂载点 -->挂载 --> 完成

第三步:模拟损坏

  1. mdadm /dev/md0 -f /dev/sdd1 //模拟sdd1硬盘损坏 这是一旦sdd1损坏,sde硬盘直接接替sdd1继续工作
  2. mdadm /dev/md0 -r /dev/sdd1 //把sdd1硬盘从md0中删除
  3. mdadm /dev/md0 -a /dev/sdd1 //把sdd1硬盘添加到md0中

第四步:物理删除两块硬盘

  1. 硬盘分区fdist /dev/sdd
  2. n +5G
  3. t 2(2的意思是sdd2) L fd
  4. w
  5. partx -a /dev/sdd ...同步
  6. mdadm /dev/md0 -a /dev/sdd2 //把sdd2硬盘添加(RAID)到md0中
  7. cat /proc/mdstat //可以查看到正在恢复状态

第五步:扩充空间

  1. 硬盘分区fdist /dev/sdd
  2. n +5G
  3. t 3(2的意思是sdd3) L fd
  4. w
  5. partx -a /dev/sdd //添加同步
  6. partx -dd --nr 6 /dev/sda //6是删除sda6
  7. mdadm -G /dev/md0 -n 5 -a /dev/sdd2
  8. resize2f /dev/md0 //同步文件系统只针对ext系列
  9. xfs_growfs /dev/md0 //同步文件系统只针对xfs系列

第六步:删除RAID

  1. 取消挂载
  2. 删除cat /proc/mdstat //删除RAIDuuid 这一列
  3. mdadm -S /dev/md0 //禁用这个设备
  4. rm -f /etc/mdadm.conf //删除这一文件
  5. mdadm --zero-superblock /dev/sdb1 //删除raid信息只剩分区

练习

  1. 创建一个可用空间为1G的RAID1设备,文件系统为ext4,有一个空闲盘,开机可自动挂载至/backup目录
  2. 创建由三块硬盘组成的可用空间为2G的RAID5设备,要求其chunk大小为256k,文件系统为ext4,开机可自动挂载至/mydata目录
  3. 制作RAID-10,6个分区,2个RAID1,3组RAID0。(提示:1、raid1 ,md0 md1 md2 mdadm -C/dev/md3 -l 0 2、mdadm -C /dev/md0 -l 10 -n 6 /dev/

逻辑卷管理器(LVM)

  1. 允许对卷进行方便操作的抽象层,包括重新设定文件系统的大小
  2. 允许在多个物理设备间重新组织文件系统
    将设备指定为物理卷
    用一个或者多个物理卷来创建一个卷组
    物理卷是用固定大小的物理区域(Physical Extent,PE)来定义的
    在物理卷上创建的逻辑卷 是由物理区域(PE)组成
    可以在逻辑卷上创建文件系统

vg

LVM介绍

  1. LVM: Logical Volume Manager, Version: 2
  2. dm: device mapper:将一个或多个底层块设备组织成一个逻辑设备的模块
  3. 设备名:/dev/dm-#
  4. 软链接:
    /dev/mapper/VG_NAME-LV_NAME
    /dev/mapper/vol0-root
    /dev/VG_NAME/LV_NAME
    /dev/vol0/root

LVM更改文件系统的容量

LVM可以弹性的更改LVM的容量
通过交换PE来进行资料的转换,将原来LV内的PE转移到其他的设备中以降低LV的容量,或将其他设备中的PE加到LV中以加大容量

pv管理工具

  1. 显示pv信息
  2. pvs:简要pv信息显示
  3. pvdisplay 详细的pv信息
  4. 创建pv
  5. pvcreate /dev/DEVICE 创建物理卷

vg管理工具

  1. 显示卷组
  2. vgs //查看vg信息
  3. vgdisplay //更加详细的vg信息
  4. 创建卷组
  5. vgcreate [-s #[kKmMgGtTpPeE]] VolumeGroupName
  6. PhysicalDevicePath [PhysicalDevicePath...]
  7. vgcreate -s 16M vg0 /dev/sd{b1,c} //创建卷组
  8. -s 16M 是以每块16M空间存储数据
  9. 管理卷组
  10. vgextend VolumeGroupName PhysicalDevicePath [PhysicalDevicePath...]
  11. vgreduce VolumeGroupName PhysicalDevicePath [PhysicalDevicePath...]
  12. 删除卷组
  13. 先做pvmove,再做vgremove
  14. vgrename vg0 newvg0 //修改vg0名称
  15. vgchange -an vg0 //禁用vg0
  16. vgchange -ay vg0 //激活vg0

lv管理工具

  1. 显示逻辑卷
  2. lvs 显示逻辑卷
  3. lvdisplay 更加详细显示逻辑卷
  4. 创建逻辑卷
  5. lvcreate -L #[mMgGtT] -n NAME VolumeGroup
  6. lvcreate -l 60%VG -n mylvtestvg
  7. lvcreate -l 100%FREE -n yourlvtestvg
  8. l 它是PE的个数
  9. L 它是容量
  10. 删除逻辑卷
  11. lvremove /dev/VG_NAME/LV_NAME
  12. 重设文件系统大小
  13. fsadm[options] resize device [new_size[BKMGTEP]]
  14. resize2fs [-f] [-F] [-M] [-P] [-p] device [new_size]

扩展和缩减逻辑卷

  1. 扩展逻辑卷:
  2. lvextend -L [+]#[mMgGtT] /dev/VG_NAME/LV_NAME
  3. resize2fs /dev/VG_NAME/LV_NAME
  4. lvresize -r -l +100%FREE /dev/VG_NAME/LV_NAME
  5. 缩减逻辑卷:
  6. umount /dev/VG_NAME/LV_NAME
  7. e2fsck -f /dev/VG_NAME/LV_NAME
  8. resize2fs /dev/VG_NAME/LV_NAME #[mMgGtT]
  9. lvreduce -L [-]#[mMgGtT] /dev/VG_NAME/LV_NAMEmount

制作逻辑卷

第一步:准备

  1. 硬盘分区fdist 两个分区sdb1一个硬盘sdc
  2. t 7(7的意思是sda7) L 8e
  3. w
  4. dd if=/dev/sda7 of=/dev/sdc bs=q count=512
  5. partx -a /dev/sda ...同步

第二步:创建LV

  1. pvs;pvcreate /dev/sd{b1,c} //pvs;可以查看pv的信息;后面是创建物理卷
  2. pvdisplay //更加详细的物理卷信息
  3. vgcreate -s 16M vg0 /dev/sd{b1,c} //创建卷组
  4. -s 16M 是以每块16M空间存储数据
  5. vgs //查看vg信息
  6. vgdisplay //更加详细的vg信息
  7. vgrename vg0 newvg0 //修改vg0名称
  8. vgchange -an vg0 //禁用vg0
  9. vgchange -ay vg0 //激活vg0
  10. lvcreate -n lv0 -L 16G vg0 //制作逻辑卷lv0
  11. -n lv0 起名字lv0
  12. -L 容量16G
  13. lvs 显示逻辑卷
  14. lvdisplay 更加详细显示逻辑卷
  15. lvcreate -n lv1 -l +100%FREE vg0 //制作逻辑卷lv1并把剩下空间全部占用
  16. ll /dev/vg0/lv0 //查看vg0逻辑卷 软连接/dev/vg0/lv0->/dm-0
  17. ll /dev/vg0/lv1 //查看vg0逻辑卷 软连接/dev/vg0/lv1->/dm-1
  18. ll /dev/mapper/vg0-lv0 //查看vg0逻辑卷 软连接/dev/mapper/vg0-lv0->/dm-0
  19. ll /dev/mapper/vg0-lv01 //查看vg0逻辑卷 软连接/dev/mapper/vg0-lv1->/dm-1
  20. 之后创建文件系统
  21. mkfs.ext4 /dev/vg0/lv0 //创建文件系统
  22. mkdir /mnt/lv0
  23. mkdir /mnt/lv1
  24. mount /dev/vg0/lv0 /mnt/lv0 //挂载
  25. mount /dev/vg0/lv1 /mnt/lv1 //挂载
  26. 要想永久保存 写/etc/fstab文件 uuid 挂载点 文件系统 defaults 0 0
  27. mount -a
  28. df -h 完成
  29. 逻辑卷性能提高了不少,没有容错性

第三步:扩展LV

  1. pvcreate /dev/sdb2 //创建物理卷
  2. vgdisplay vg0 //查看vgo的详细信息
  3. pvs;vgextent vg0 /dev/sdb2 //把sdb2加入vg0
  4. pvs //简要pv信息显示
  5. vgs 空间有了就可以添加逻辑卷
  6. lvextend -l +100%FREE /dev/vg0/lv0
  7. lvdisplay
  8. df -h 添加了大小没变 是因为没有文件系统
  9. resize2fs /dev/vg0/lv0 //创建文件系统 extN系列
  10. xfs_growfs /mnt/lv0 //创建文件系统 xfs系列
  11. 或者
  12. lvextend -r -l +100%free /dev/vg0/lv0 //一步到位直接生成

第四步:缩减LV

  1. 影响用户使用 必须取消挂载 (缩减之前要备份)
  2. umount /mnt/lv0 取消挂载
  3. resize2fs /dev/vg0/lv0 8G 缩减到8G 直接执行会报错
  4. 之后再执行 fsck -f /dev/vg0/lv0
  5. 在执行resize2fs /dev/vg0/lv0 8G 成功
  6. lvreduce -L 8G /dev/vg0/lv0 缩减逻辑卷
  7. mount -a

第五步:硬盘/dev/sdc快损坏了需要;搬家

  1. vgdisplay //看可用空间,大于pv的空间
  2. pvmove /dev/sdc //搬家(搬家必须有可用空间PE大小不能缩小)
  3. 没空间添加硬盘
  4. echo "- - -" > /sys/class/scsi_host/host2/scan //扫描光盘
  5. pvcreate /dev/sdd //创建物理卷
  6. pvs;vgextent vg0 /dev/sdd //把sdd加入vg0
  7. pvs //简要pv信息显示
  8. vgs 空间有了就可以添加逻辑卷
  9. pvmove /dev/sdc //搬家
  10. vgreduce vg0 /dev/sdc //删除sdc 让他不再卷组里面
  11. pvdisplay //可以看到不再卷组里面
  12. pvremove /dev/sdc //删除 之后pv都不是了 硬盘拆除

第五步:迁移LV到新主机

  1. 1 确认VG名和目标主机不同
  2. vgrename vg1 vg100 //卷组改名vg100
  3. lvrename /dev/vg100/lv2 lv100 //逻辑卷改名lv100
  4. vgdisplay
  5. pvs //查看几个pv几个卷组
  6. 2 umount取消要迁移硬盘的挂载点
  7. 3 vgchange an vg100 //先禁用 vg100
  8. lvdisplay
  9. 4 vgexport vg100 //设置为导出状态
  10. vgdisplay //能看到与别的状态不一样 是导出状态
  11. pvdisplay //能看到与别的状态不一样 是导出状态
  12. 拆硬盘安装到新的上面
  13. 1 pvdisplay //查看可以看到当前状态是导出状态(exported)
  14. 2 vgimport vg100 // 导入(导入之前确定vg100 与新机器上没有重名)
  15. pvdisplay //看不到导出状态(exported)
  16. vgdisplay //看不到导出状态(exported)
  17. lvdisplay //查看看到是禁用状态 不可用
  18. 3 vgchange -ay vg100 //激活 vg100
  19. lvdisplay //查看看到是可读可写 可以使用
  20. lvs
  21. mkdir /mnt/lv100
  22. 4 mount /dev/vg100/lv100 /mnt/lv100 //挂载使用
  23. df -h //查看 (完成)

跨主机迁移卷组

  1. 源计算机上
  2. 1 在旧系统中,umount所有卷组上的逻辑卷
  3. 2 vgchange an vg0
  4. lvdisplay
  5. 3 vgexport vg0
  6. pvscan
  7. vgdisplay拆下旧硬盘
  8. 在目标计算机上
  9. 4 在新系统中安装旧硬盘,并vgimport vg0.
  10. 5 vgchangeay vg0
  11. 6 mount所有卷组上的逻辑卷

创建逻辑卷示例

  1. 创建物理卷 pvcreate /dev/sda3
  2. 为卷组分配物理卷vgcreate vg0 /dev/sda3
  3. 从卷组创建逻辑卷
  4. lvcreate -L 256M -n data vg0
  5. mke2fs -j /dev/vg0/data //创建文件系统
  6. mount /dev/vg0/data /mnt/data //挂载

逻辑卷管理器快照

  1. 快照是特殊的逻辑卷,它是在生成快照时存在的逻辑卷的准确拷贝
  2. 对于需要备份或者复制的现有数据集临时拷贝以及其它操作来说,快照是最合适的选择
  3. 快照只有在它们和原来的逻辑卷不同时才会消耗空间
    1. 在生成快照时会分配给它一定的空间,但只有在原来的逻辑卷或者快照有所改变才会使用这些空间
    2. 当原来的逻辑卷中有所改变时,会将旧的数据复制到快照中。
    3. 快照中只含有原来的逻辑卷中更改的数据或者自生成快照后的快照中更改的数据
    4. 建立快照的卷大小只需要原始逻辑卷的15%~20%就够了,也可以使用lvextend放大快照

逻辑卷管理器快照

快照就是将当时的系统信息记录下来,就好像照相一般,若将来有任何数据改动了,则原始数据会被移动到快照区,没有改动的区域则由快照区和文件系统共享

由于快照区与原本的LV共用很多PE的区块,因此快照去与被快照的LV必须在同一个VG.系统恢复的时候的文件数量不能高于快照区的实际容量

使用LVM快照

  1. 为现有逻辑卷创建快照
  2. lvcreate -l 1G -s -n data-snapshot -p r /dev/vg0/data
  3. -n data-snapshot //快照名称
  4. -l 1G //大小
  5. -s 表示这是一个快照不是一般的逻辑卷
  6. -p r //防止误删除 添加只读属性
  7. lvs //看到快照属性与别的不一样
  8. lvdisplay //查看详细信息 /dev/vg0/lv0-snapshot
  9. ll /dev/vg0/lv0-snapshot //也是个软连接 dm-4
  10. 挂载快照
  11. mkdir -p /mnt/snap //-p递归创建
  12. mount /dev/vg0/data-snapshot /mnt/snap //(centos7里面这条命令挂载不上去)
  13. df -h //查看大小相同 感觉什么都一样(快照)
  14. lvs //可以看到真实大小(lvdisplay)
  15. 恢复快照
  16. 查看快照里面,看到的是所有的数据都在 其实是只有修改过的文件,(如果别的文件不在感觉不像是快照)(查看没修改过的文件,里面内容也有东西。是因为快照里的文件路径其实是源文件的路径)
  17. umount /dev/vg0/data-snapshot //取消挂载
  18. umount /dev/vg0/data //取消挂载
  19. lvconvert --merge /dev/vg0/data-snapshot //把快照里面的数据还原到原来的数据 (快照自动删除了)
  20. 删除快照
  21. umount /mnt/databackup //取消挂载
  22. lvremove /dev/vg0/databackup
  23. 快照存在的情况下 把逻辑卷删除 快照就没什么意义,所以会提醒你先删除快照再删除逻辑卷

练习

  1. 创建一个至少有两个PV组成的大小为20G的名为testvg的VG;要求PE大小为16MB, 而后在卷组中创建大小为5G的逻辑卷testlv;挂载至/users目录
  2. 新建用户archlinux,要求其家目录为/users/archlinux,而后su切换至archlinux用户,复制/etc/pam.d目录至自己的家目录
  3. 扩展testlv至7G,要求archlinux用户的文件不能丢失
  4. 收缩testlv至3G,要求archlinux用户的文件不能丢失
  5. 对testlv创建快照,并尝试基于快照备份数据,验证快照的功能

网络管理

网络应用程序

Web 浏览器(Chrome、IE、Firefox等)
即时消息(QQ、微信、钉钉等)
电子邮件(Outlook、foxmail 等)
协作(视频会议、VNC、Netmeeting、WebEx 等)
web网络服务(apache,nginx,IIS)
文件网络服务(ftp,nfs,samba)
数据库服务(MySQL,MariaDB, MongoDB)
中间件服务(Tomcat,JBoss)
安全服务(Netfilter)

用户应用程序对网络的影响

批处理应用程序
FTP、TFTP、库存更新
无需直接人工交互
带宽很重要,但并非关键性因素
交互式应用程序
库存查询、数据库更新
人机交互
因为用户需等待响应,所以响应时间很重要,但并非关键性因素,除非要等待很长时间
实时应用程序
VoIP、视频
人与人的交互
端到端的延时至关重要

网络的特征

速度
成本
安全性
可用性
可扩展性
可靠性
拓扑
正常时长/(总时间=正常+异常)年99.999%

物理拓扑结构

物理拓扑描述了物理设备的布线方式
逻辑拓扑描述了信息在网络中流动的方式
hub集线器 switch交换机 router 路由器 firewall 硬件防火墙
总线拓扑:所有设备均可接收信号 发生故障就瘫痪
星型拓扑:通过中心点传输 单一故障点(single point of failure简称SPOF)
扩展星型拓扑:比星型拓扑的复原能力更强
环拓扑:信号绕环传输 单一故障点
双环拓扑:信号沿相反方向传输 比单环的复原能力更强
全网状拓扑:容错能力强 实施成本高
部分网状拓扑:在容错能力与成本之间寻求平衡

了解主机到主机通信

旧模型
专有产品
由一个厂商控制应用程序和嵌入的软件
基于标准的模型
多厂商软件
分层方法

网络模型分层

OSI 网络标准协议,开放系统互联, 国际标准,国家标准,行业标准,事实标准(wifi、wapi、wlan)
ISO 国际标准化组织 tcp/ip(.iso)
IOS

简介 说明
7 应用层 application 网络进程访问应用层 为应用程序提供网络服务 提供用户身份认证
6 表示层 presention 数据表示 确保接收系统可以读出该数据 格式化数据 构建数据 协商用于应用层的数据传输
5 会话层 session 主机间的通信 建立、管理和终止在应用程序
4 传输层 transport 端到端连接 确保数据传输的可靠性 建立、维护和终止虚拟电路 通过错误检测和恢复 信息流控制来保障可靠性
3 网络层 network 数据传输 路由数据包 选择传递数据的最佳路径 支持逻辑寻址和路径选择(IP地址 路由)
2 数据链路层 data link 访问介质 定义如何格式化数据以便进行传输以及如何控制对网络的访问 支持错误检测(定义了物理地址)
1 物理层 physical 二进制传输 为启动、维护以及关闭物理链路定义了电气规范、机械规范、过程规范和功能规范

all people seem to need data processing 所有人似乎都需要数据处理。

数据解封

接收方

对等通信

对等通信

PDU(报文)

PDU: Protocol Data Unit,协议数据单元是指对等层次之间传递的数据单位
物理层的PDU是数据位bit
数据链路层的PDU是数据帧frame
网络层的PDU是数据包packet
传输层的PDU是数据段segment
其他更高层次的PDU是消息message

三种通讯模式

单播(unicast):一对一
广播(broadcast):讲话
组播(multicast):小组

局域网

局域网(Local Area Network)

LAN 组成

  1. Computers 电脑
  2. PCs 个人计算机
  3. Servers 服务器
  4. Interconnections
  5. NICs 网卡
  6. Media 媒体
  7. Network devices 网络设备
  8. Hubs 集线器
  9. Switches 开关
  10. Routers 路由器
  11. Protocols 协议
  12. Ethernet 以太网
  13. IP
  14. ARP
  15. DHCP

网络线缆和接口

Twisted-Pair
Unshielded (非屏蔽UTP)
Shielded (屏蔽双绞线STP)
Coaxial(铜轴电缆 例:有线电视)
ThinNet(粗缆)ThickNet(细缆)

Fiber-Optic (光纤)

非屏蔽式双绞线UTP

UTP

UTP

Ethernet Frame(以太网帧)结构

以太网帧

以太网帧最大72(8+6+6+2+46+4)-1526之间(物理地址2^48个)

以太网帧

数据链路层

数据链路层

MAC地址

MAC地址

以太网帧

添加新批注
在作者公开此批注前,只有你和作者可见。
回复批注