注意: 在填充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.www58058.com/97264