学习笔记(12)

学习笔记(12)

注意: 在填充512字节的时候注意bs的大小要是用1字节来填充 dd if=/dev/zero of=/dev/sdb bs=1 count=2 skip=510 seek=510
删除硬盘的时候最好在关机的状态下来执行,虚拟机模拟环境也最好这样做
补充:创建pv既可以分区也可以磁盘
1.创建软raid(4块磁盘同一做文件系统)
  fdisk 修改t 然后选择1(指定修改哪个分区,1为分区号)为需要将分区的id修改为fd 做raid
  dd if=/dev/sdb of=/dev/sdc bs=1 count=66 skip=446 seek=446 (要包括最后两个字节的55aa,此标记是表示该磁盘是否划分分区,没有55aa,lsblk查看不到分区信息) 需要跳过bootloader 引导加载器,因为添加的磁盘不作为引导盘来使用,需要跳过446字节
  partx -a /dev/sdc (centos6 中) centos7 使用partprobe ,不同步的话使用 lsblk不能查看到刚刚添加的分区
  partx -d –nr 1 /dev/sdc 删除时用,注意sdc后面没数字,因为前面有数字1了,可以写范围的1-3 分区号
  (清文件系统 dd if=/dev/zero of=/dev/sdb1,不需要完全填充0,只需要填充superblock块即可,稍等片刻即可)
  mdadm -C /dev/md0 -a yes -l5 -c32 -n3 -x1  /dev/sd{b1,c1,d,e1}  -l选项是指定chunk大小为32K,要按顺序定义的写,最后一个是x1(备用硬盘)e1
  mdadm -D /dev/md0
  blkid    可以查看到raid的UUID信息
  blkid /dev/md0   没有任何输出信息,因为没有创建文件系统,使用raid模式,需要全部同一安装文件系统
  mkfs.ext4 /dev/md0 -L raid5
  blkid /dev/md0 创建完操作系统之后就可以查看到md0的文件系统信息
  vim /etc/fstab
  :r!blkid /dev/md0
  UUID=a7998bb6-6912-40d0-89fa-5be633ad3477  /mnt/raid        ext4   defaults       0 0
  mdadm -Ds /dev/md0 >/etc/mdadm.conf 防止重启raid设备后就不会提示找不到配置文件
  补充: 使用man帮助所有-D选项的使用-需要转义,:/\<\-D\>  锚定整个单词,并使用\来转义
  dd if=/dev/zero of=/mnt/raid/f1 bs=1M count=1024
  补充 dd if=/dev/zero of=/mnt/raid/f2 bs=1M count=1024 conv=fdatasync 写入磁盘才结束,而不是写入buffer算结束
  读取速度有可能是因为buffer,cache中有数据导致,可以使用free -m 来查看buffer cache来
  dd if=/root/f1 of=/dev/null 测试读取速度
  umount /mnt/raid (执行下面的-S命令先要umount)
  mdadm -S /dev/md0 停用raid
  mdadm -A /dev/md0 启用raid
 [root@centos7 ~]#mdadm -A /dev/md0       没有创建配置文件会导致的问题
 mdadm: /dev/md0 not identified in config file.
 mdadm -D /dev/md0 查看raid状态
  mdadm /dev/md0 -f /dev/sdd1 模拟损坏磁盘,备用磁盘立即顶替损坏的磁盘
  查看构建过程: watch -n 1 mdadm -D /dev/md0  每一秒刷新一次
 mdadm -D /dev/md0信息截取:
 Number   Major   Minor   RaidDevice State
  3       8       81        0      spare rebuilding   /dev/sdf1
  1       8       49        1      active sync   /dev/sdd1
  4       8       65        2      active sync   /dev/sde1
  0       8       17        –      faulty   /dev/sdb1
  mdadm /dev/md0 -r /dev/sdd1 从raid中移除设备sdd1
  mdadm /dev/md0 -a /dev/sdd1 从raid中添加回sdd1
  parted 命令的使用风格,这种写法不多。
  虚拟机vm中拆除备用盘和raid盘中一块来查看容错性
  mdadm -D /dev/md0    state: degraded 降级使用,需要计算损坏硬盘的数据,所以要耗费系统的性能,因为CPU要通过计算算出出错硬盘的数据
  state: clean 为正常
2.作业: 实现raid10  下面的是两个1 两个1  然后构成raid0
  mdadm -C /dev/md0 -a yes -l1 -n2 /dev/sd{b,c} -c32可以指定chunk大小
  mdadm -C /dev/md0 -a yes -l1 -n2 /dev/sd{d,e}
  mdadm -C /dev/md0 -a yes -l0 -n2 /dev/md{0,1}
  或者
  mdadm -C /dev/md0 -a yes -l10 -n4 /dev/sd{b,c,d,e} 直接创建raid10
3.添加raid成员
  分区不同步使用lsblk查看不到分区 centos6 使用partx 7使用 partprobe
  mdadm -G /dev/md0 -n4 -a /dev/sdb3  新增加/dev/sdb3分区
  mdadm -D /dev/md0  查看/dev/md0的详细信息(mdadm /dev/md0 查看/dev/md0的简单信息)
  df -h 查看不到
  resize2fs /dev/md0 同步所有文件系统空间 (只是用ext系列)
  resize2fs /dev/vg0/lv0  同步扩展或缩减文件系统空间(df 查看是否空间是否被同步)  两处使用此命令一种是raid的增减和缩减空间(只能在ext系列文件系统上使用),一种是lvs的增加或缩减空间                                            这个实验还没做
  (没有文件系统无法使用df来查看,所以不创建文件系统的分区使用df 来查看到)
  xfs_growfs /mnt/raid 后面的是挂载点在扩展的时候使用,因为xfs系统不能缩减lv,不能使用/dev/md0  xfs系统同步增加或缩减空间中使用  命令作用同步文件系统,统一raid中的所有磁盘分区的文件系统,raid是统一管理文件系统的,所以可以使用同步文件系统的方式来修改新增加磁盘分区的文件系统
4.mdadm -D /dev/md0 (cat/proc/mdstat查看磁盘)
5.删除raid
  umount /mnt/raid
  删除/etc/fstab
  rm -rf /etc/mdadm.conf
  有些命令有延迟 如mdadm -S /dev/md0 ll /dev/md0还可以查看到,过会就不见了
  下次使用作为raid的分区的时候如果有残留的信息,使用blkid可以查看到,清除使用
  mdadm –zero-superblock /dev/sdb1  删除前使用该命令消除残留raid信息,使用blkid 查看会发现raid信息已经没有
  如果分区不可用时,可以直接使用dd if=/dev/zero of=/dev/sdb1 毁坏文件系统即可,不需等待过程全部完成
  补充:
  想要毁坏非引导分区可以直接填充最后的55aa两个字节,系统默认就会认为该磁盘没有划分分区,dd if=/dev/zero of=/dev/sdb bs=1 count=2 seek=510,过程完成后,可以使用lsblk来查看,会发现分区已经不见。
  fdisk -l /dev/sdc 是从硬盘中查找的分区信息
  lsblk 是从内存中查找的分区信息,若使用lsblk查看不到时,可以使用partprobe(centos7),partx -a /dev/sdc (centos6) 来同步
  为不同磁盘创建相同分区可以使用dd命令,主需要填写后面的66字节即可,因为不是引导盘,所以不需要填充前446字节
  dd if=/dev/sdb of=/dev/sdd bs=1 count=66 skip=446 seek=446  注意要使用skip
  df查看到的信息是已经存在文件系统,并且已经挂载使用的
  lsblk查看到的是块设备的信息,包括可以查看到是否划分分区
  fdisk 则可以查看到系统的id号,包括fd、82、83、8e
  vi 编辑其中不要忘了使用d0和d$的使用,还有c0和c$的使用
6.pv vg lv 由下至上 记忆顺序
7.卷组分割单位为PE,为LV分配空间的最小单元
8.fdisk 可以查看到分区id,fdisk -l /dev/sda1 ,因为可以修改吗,所以当然可以查看了。
9. 创建LVM
  pvcreate /dev/sd{a7,c1}
  (超级块中有分区信息,之前的md0有超级块信息 dd干掉超级块信息)
  pvdisplay
  vgs  查看卷组
  vgdisplay  查看卷组
  vgcreate -s 16M vg0 /dev/sd{a7,c1}  16M PE PE是vg的最小单元,在分区中使用的是PE,新磁盘不是
  pvs  列出pvs的简单信息
  pvdisplay 列出pvs的详细信息
  vgs
  vgdisplay
  lvcreate -n lv0 -l 100  vg0(-L 指定容量,-l 指定PE个数) -l更精确
  补充:lvcreate -n lv0 -L +10G|10G  # +10G 表示增减10G,10G表示增加到10G
  lvs
  lvdisplay
  lvcreate -n lv1 -l 100%free (使用全部空间) vg0
  lvs
  两个lv的链接,做文件系统时需要指定,挂载的时候同样需要指定,任选其一就可
  /dev/mapper/vg0-lv0
  /dev/vg0/lv1
  [root@centos7 ~]#ll /dev/vg0/lv0
  lrwxrwxrwx 1 root root 7 Apr 26 06:42 /dev/vg0/lv0 -> ../dm-0
  [root@centos7 ~]#ll /dev/mapper/vg0-lv0
  lrwxrwxrwx 1 root root 7 Apr 26 06:42 /dev/mapper/vg0-lv0 -> ../dm-0
  mkfs.ext4 /dev/vg0/lv1 创建文件系统
  mkfs.ext4 /dev/vg0/lv0 创建文件系统
  测试读写性能
  dd if=/dev/zero of=/mnt/lv0/f2 bs=1M count=500 conv=fdatasync 加上conv=fdatasync选项将数据直接写入磁盘算结束,而不是写入cache算结束
  补充:
 echo ‘- – -‘ > /sys/class/scsi_host/host2/scan  用来探测新增加磁盘
 partprobe(centos7)、partx(centos6)是用来识别新增加的分区,和删除分区时的信息,lsblk分区不同步时使用
 partx -a /dev/sd#  centos6增加分区时用来同步(是否识别使用lsblk来查看)
 partx -d -nr 1-3 /dev/sd#  centos6 删除1、2、3分区时来同步
  pvcreate /dev/sdd    创建pv之前可以直接使用整块磁盘而不分区,也可以分区后再创建pv
  vgextend vg0 /dev/sdd1
  pvs
  vgdisplay
  lvdisplay
  lvextend  -L +5G(5G) /dev/vg0/lv0    +5G是加5G  5G是加到5G
  lvs
  df -h
  resize2fs /dev/vg0/lv0  同步扩展或缩减系统空间(df 查看是否空间是否被同步)  两处使用此命令一种是raid的增减和缩减空间,一种是lvs的增加或缩减空间
  主要是针对raid 和lvm 因为是多块组成一个,lvextnd -r 可以直接同步文件系统
  lvextend -r -l +100%FREE /dev/vg0/lv0     -r选项可以直接同步文件系统空间,不需要使用resize2fs /dev/vg0/lv0来同步
  lvm缩减空间前要先备份
  xfs的文件系统不能缩减空间,可以扩展空间,ext系列文件系统可以缩减空间和扩展空间
  注意:
  扩展lv需要先扩展逻辑卷,再扩展文件系统(resize2fs 在不使用lvextend -r选项的时候)
  缩减lv需要先缩减文件系统,在缩减逻辑卷空间
  1.umount /mnt/lv0  卸载
  2.fsck -f /dev/vg0/lv0 因为resize2fs之前要提示检测文件系统,必须给出-f选项
  3.resize2fs /dev/vg0/lv0 10G     要扩展文件系统空间的时候不需要指定大小
  4.lvreudce -L 10G /dev/vg0/lv0    缩减逻辑卷
  5.mount -a      重新挂载
  移除lv中的坏掉的硬盘
  1.pvmove /dev/sdd 将当前pv的数据移动到卷组中的其他的pv中,移动到那些成员由系统自动决定,不需要认为指定
  2.vgredunce vg0 /dev/sdd  从卷组中移除sdd
  3.pvremove /dev/sdd 恢复成普通硬盘
10.vg 、lv修改名字(用于迁移逻辑卷lvm时与目标服务器的lvm名字冲突)
   vgrename vg0 centos6vg0
   vgdisplay
   lvrename /dev/centos6vg0/lv0 /dev/centos6vg0/cento6lv0
   lvrename /dev/centos6vg0/lv1 /dev/centos6vg1/cento6lv1
11.迁移逻辑卷,需要将需要移动的lv数据移动到一块硬盘(/dev/sda)上,然后在拆除硬盘安装在另外的服务器上,迁移前要注意不要和目标服务器的lvm名字冲突
   umount /mnt/lv0
   pvmove /dev/sda7
   vgreduce vg0 /dev/sda7  将/dev/sda7的分区从vg0中移除
   vgchange -an centos6vg0 禁用卷组vg
   lvdisplay
   vgexport centos6vg0 导出卷组vg,将状态设置为导出状态为导出vg做准备
   vgdisplay   查看到状态为导出状态
   pvdisplay   所有的pv也同样处于了导出的状态
   拆虚拟机硬盘,找到指定的硬盘文件,并剪切该文件至目标虚拟机的路径中,添加虚拟机磁盘找到添加现有磁盘
   (运行里写路径找文件很方便,拷贝硬盘文件)
   vgimport cento6vg0   将新增减的磁盘的vg设置为导入状态
   vgdisplay
   lvdisplay
   vgchange -ay centos6vg0 激活卷组,lvm也变为可用状态
   mkdir /mnt/centos6lv0
   mount /dev/centos6vg0/centos6lv0 /mnt/centos6lv0
12.快照先只分配一块空间(速度快),文件修改时才未修改原有文件传进快照空间
13.创建逻辑卷快照
   创建逻辑卷前要先查看一下当前的卷组是否有空间来创建逻辑卷的快照,因为快照使用的空间也是在当前需要创建的快照的卷组中。
   lvcreate -n lv0-snapshot  -s -L 1G -p r /dev/vg0/lv0   -s指定快照选项 -p r 只读方式不可修改快照内容
   lvdisplay
   mkdir /mnt/lv0-snapshot
       挂载完创建的快照后会发现文件与原逻辑卷中的内容相同,其实显示的文件是来自原始的逻辑卷(说明:未修改数据前的快照数据其实是来自源文件,只是为了显示快照已生效)
   快照恢复文件
   umount /mnt/snap
   umount /mnt/centos6lv0
   lvconvert –merge /dev/centos6vg0/centos6lv0
   xfs 快照
   mount -o nouuid … 不检查UUID,否则相同UUID报错,因为快照的UUID相同
  (快照大小<= 原空间大小即可,只存放修改的数据之前的就文件)
15.删除逻辑卷
   1.先umount
   2.lvremove 删除
16.快照恢复使用后就会被删除
   ext4 系列的文件系统为了保证惊险不被损坏使用-p r 选项,恢复镜像内容使用lvconvert –merge /dev/centos6vg0/centos6lv0
   xfs 不要加-p r 否则报错
   xfs mount -o nouuid 需要添加该选项 ,ext系列不需要
17.备份mysql数据库的一种手段就是使用lvm快照,cp太慢会有数据修改,可以将备份的数据使用快照恢复cp过程中修改的文件
实验:逻辑卷的快照、迁移逻辑卷
带宽以位为单位,下载的文件是以字节为单位,所以要除以8
18.混杂模式的网卡 即便不是自己的报文也会接收
19.交换机里面自动做交换,不需要使用交叉线
   两台电脑使用双绞线相连要将13和26两条线对调
20.T568B线序: 橙白  橙  绿白 蓝  蓝白 绿  棕白 棕
   T568A线序(1、3和2、6对调): 绿白  绿 橙白 蓝  蓝白 橙  棕白 棕
21.MBR数据在硬盘的硬盘的0柱面、0磁头、0扇区(第一个扇区),DPT(Disk partition table),分区有效标志 55AA

本文来自投稿,不代表Linux运维部落立场,如若转载,请注明出处:http://www.178linux.com/97264

联系我们

400-080-6560

在线咨询

工作时间:周一至周五,9:30-18:30,节假日同时也值班

QR code