1、破壞mbr表并修復(fù)
#備份MBR分區(qū)表,skip表示從輸入文件跳過(guò)前446個(gè)字節(jié),即/dev/sda
? 22:44:07-root:~#dd if=/dev/sda of=/data/dpt.img bs=1 count=64 skip=446
? 22:44:07-root:~#scp /data/dpt.img 10.0.0.8:
#破壞MBR分區(qū)表,seek代表從輸出跳過(guò)前446個(gè)字節(jié),記不住就記單詞意思,seek是尋找,skip是跳過(guò),跳過(guò)一般都是從源跳過(guò),尋找從目標(biāo)尋找
? 22:44:07-root:~#dd if=/dev/zero of=/dev/sda bs=1 count=64 seek=446 #seek代表從輸出文件跳過(guò)前446個(gè)字節(jié)
? 22:44:07-root:~#reboot
#用光盤(pán)啟動(dòng),選擇救援模式進(jìn)入rescue mode,選第3項(xiàng)skip to shell
#配置網(wǎng)絡(luò)
#ifconfig ens160 10.0.0.8/24
#scp 10.0.0.8:/root/dpt.img . 這里有個(gè).別忘記,代表從遠(yuǎn)程主機(jī)下載dpt.img到當(dāng)前目錄
#恢復(fù)MBR分區(qū)表
#dd if=dpt.img of=/dev/sda bs=1 seek=446
#exit
2、總結(jié)RAID的各個(gè)級(jí)別及其組合方式和性能的不同。(這里只列舉常用raid)
raid 級(jí)別
多個(gè)磁盤(pán)合成一個(gè)“陣列”來(lái)提供更好的性能、冗余,或者兩者都提供
外接式磁盤(pán)陣列:通過(guò)擴(kuò)展卡提供適配能力
內(nèi)接式RAID:主板集成RAID控制器,安裝OS前在BIOS里配置
軟件RAID:通過(guò)OS實(shí)現(xiàn),比如:群暉的NAS
級(jí)別:多塊磁盤(pán)組織在一起的工作方式有所不同
- RAID-0:條帶卷,strip
- RAID-1:鏡像卷,mirror
- RAID-2
- ..
- RAID-5
- RAID-6
- RAID-10
- RAID-01
- RAID級(jí)別
raid 0
將多個(gè)磁盤(pán)合并成一個(gè)大的磁盤(pán),不具有冗余,并行I/O,速度最快。RAID 0亦稱為帶區(qū)集。它是將多個(gè)磁盤(pán)并列起來(lái),成為一個(gè)大磁盤(pán)。在存放數(shù)據(jù)時(shí),其將數(shù)據(jù)按磁盤(pán)的個(gè)數(shù)來(lái)進(jìn)行分段,然后同時(shí)將這些數(shù)據(jù)寫(xiě)進(jìn)這些盤(pán)中,所以在所有的級(jí)別中,RAID 0的速度是最快的。但是RAID 0沒(méi)有冗余功能,如果一個(gè)磁盤(pán)(物理)損壞,則所有的數(shù)據(jù)都會(huì)丟失,危險(xiǎn)程度與JBOD相當(dāng)。
理論上越多的磁盤(pán)性能就等于“單一磁盤(pán)性能”ד磁盤(pán)數(shù)”,但實(shí)際上受限于總線I/O瓶頸及其它因素的影響,RAID性能會(huì)隨邊際遞減,也就是說(shuō),假設(shè)一個(gè)磁盤(pán)的性能是50MB每秒,兩個(gè)磁盤(pán)的RAID 0性能約96MB每秒,三個(gè)磁盤(pán)的RAID 0也許是130MB每秒而不是150MB每秒,所以兩個(gè)磁盤(pán)的RAID 0最能明顯感受到性能的提升。

- 讀、寫(xiě)性能提升
- 可用空間:N*min(S1,S2,...)
- 無(wú)容錯(cuò)能力
- 最少磁盤(pán)數(shù):2, 2+
raid 1
兩組硬盤(pán)互為鏡像,數(shù)據(jù)會(huì)以鏡像的方式寫(xiě)入到另一塊硬盤(pán),理論上讀速度=硬盤(pán)數(shù)量的倍數(shù),寫(xiě)入速度會(huì)有略微降低,冗余最高,一塊硬盤(pán)損壞后不影響數(shù)據(jù)完整性,但無(wú)論多少塊硬盤(pán),最后都只算1塊硬盤(pán),是raid級(jí)別中磁盤(pán)利用率最低的一種,如果兩塊磁盤(pán)大小不一組建riad1,容量以最小的磁盤(pán)計(jì)算,多余的空間可劃分另外一個(gè)分區(qū)使用,并不浪費(fèi)。

- 讀性能提升、寫(xiě)性能略有下降
- 可用空間:1*min(S1,S2,...)
- 有冗余能力
- 最少磁盤(pán)數(shù):2, 2N
raid 4
- 多塊數(shù)據(jù)盤(pán)異或運(yùn)算值存于專用校驗(yàn)盤(pán) 磁盤(pán)利用率 (N-1)/N
- 有冗余能力
- 至少3塊硬盤(pán)才可以實(shí)現(xiàn)
raid 5
RAID Level 5是一種儲(chǔ)存性能、數(shù)據(jù)安全和存儲(chǔ)成本兼顧的存儲(chǔ)解決方案。它使用的是Disk Striping(硬盤(pán)分區(qū))技術(shù)。RAID 5至少需要三顆硬盤(pán),RAID 5不是對(duì)存儲(chǔ)的數(shù)據(jù)進(jìn)行備份,而是把數(shù)據(jù)和相對(duì)應(yīng)的奇偶校驗(yàn)信息存儲(chǔ)到組成RAID5的各個(gè)磁盤(pán)上,并且奇偶校驗(yàn)信息和相對(duì)應(yīng)的數(shù)據(jù)分別存儲(chǔ)于不同的磁盤(pán)上。當(dāng)RAID5的一個(gè)磁盤(pán)數(shù)據(jù)發(fā)生損壞后,可以利用剩下的數(shù)據(jù)和相應(yīng)的奇偶校驗(yàn)信息去恢復(fù)被損壞的數(shù)據(jù)。RAID 5可以理解為是RAID 0和RAID 1的折衷方案。RAID 5可以為系統(tǒng)提供數(shù)據(jù)安全保障,但保障程度要比鏡像低而磁盤(pán)空間利用率要比鏡像高。RAID 5具有和RAID 0相近似的數(shù)據(jù)讀取速度,只是因?yàn)槎嗔艘粋€(gè)奇偶校驗(yàn)信息,寫(xiě)入數(shù)據(jù)的速度相對(duì)單獨(dú)寫(xiě)入一塊硬盤(pán)的速度略慢,若使用“回寫(xiě)高速緩存”可以讓性能改善不少。同時(shí)由于多個(gè)數(shù)據(jù)對(duì)應(yīng)一個(gè)奇偶校驗(yàn)信息,RAID 5的磁盤(pán)空間利用率要比RAID 1高,存儲(chǔ)成本相對(duì)較便宜

- 讀、寫(xiě)性能提升
- 可用空間:(N-1)*min(S1,S2,...)
- 有容錯(cuò)能力:允許最多1塊磁盤(pán)損壞
- 最少磁盤(pán)數(shù):3, 3+
raid 6

- 讀、寫(xiě)性能提升
- 可用空間:(N-2)*min(S1,S2,...)
- 有容錯(cuò)能力:允許最多2塊磁盤(pán)損壞
- 最少磁盤(pán)數(shù):4, 4+
raid 10 和 raid 01對(duì)比
如何記憶RAID1+0和RAID0+1,哪個(gè)數(shù)字在前就先做哪個(gè)RAID,例如RAID10就是,先做RAID1,后做RAID0,反之亦然

RAID0+1是先做兩個(gè)RAID0,然后再做RAID1,因此RAID0+1允許壞多個(gè)盤(pán),但只能在壞在同一個(gè)RAID0中,不允許兩個(gè)RAID0都有壞盤(pán)。
RAID1+0是先做RAID1,然后再做RAID0,因此RAID1+0允許壞多個(gè)盤(pán),只要不是一對(duì)磁盤(pán)壞就可以啦。
因此說(shuō)RAID1+0比RAID0+1安全得多,因?yàn)樵谕粚?duì)磁盤(pán)中,兩塊磁盤(pán)都?jí)牡舻母怕屎艿汀?br> RAID 0和RAID 1分別用于增強(qiáng)存儲(chǔ)性能(RAID 0 條帶)和數(shù)據(jù)安全性(RAID 1 鏡像),而RAID 0+1和RAID 10兼顧了RAID 0和RAID 1的優(yōu)點(diǎn),它在提供RAID 1一樣的數(shù)據(jù)安全保證的同時(shí),也提供了與RAID 0近似的存儲(chǔ)性能。雖然RAID 0+1和RAID 10基本原理相近,都是RAID0和RAID1的結(jié)合,不過(guò)還是有些區(qū)別。在MySQL數(shù)據(jù)庫(kù)中,通常我們選用RAID 10。
綜上,raid1+0是要比raid0+1更安全一些
raid 50
同理,先做RAID5,后做RAID0,即RAID50,實(shí)現(xiàn)磁盤(pán)冗余同時(shí)提升磁盤(pán)讀寫(xiě)性能(同時(shí)滿足數(shù)據(jù)安全和數(shù)據(jù)冗余功能)

其它級(jí)別
RAID7
可以理解為一個(gè)獨(dú)立存儲(chǔ)計(jì)算機(jī),自身帶有操作系統(tǒng)和管理工具,可以獨(dú)立運(yùn)行,理論上性能最高的RAID模式
常用級(jí)別: RAID-0, RAID-1, RAID-5, RAID-10, RAID-50, JBOD
JBOD:just a bunch of disks
功能:將多塊磁盤(pán)的空間合并一個(gè)大的連續(xù)空間使用
可用空間:sum(S1,S2,...)

3.創(chuàng)建一個(gè)2G的文件系統(tǒng),塊大小為2048byte,預(yù)留1%可用空間,文件系統(tǒng) ext4,卷標(biāo)為TEST,要求此分區(qū)開(kāi)機(jī)后自動(dòng)掛載至/test目錄,且默認(rèn)有acl掛載選項(xiàng)
? 22:31:13-root:~# mkfs.ext4 -m 1 -L TEST -b 2048 -O acl /dev/sdd1
mke2fs 1.45.6 (20-Mar-2020)
/dev/sdd1 contains a ext4 file system labelled 'TEST'
last mounted on Sat Jan 9 22:15:07 2021
Proceed anyway? (y,N) y
Invalid filesystem option set: acl
? 22:17:34-root:~# lsblk -f
NAME FSTYPE LABEL UUID MOUNTPOINT
sda
├─sda1 ext4 29090182-4327-42a5-8b5e-1593be1da80e /boot
├─sda2 LVM2_member thR0RF-sibL-cgtk-v778-iPF5-uX39-2FHeRc
│ ├─cl-root xfs cdcfdf4c-2493-46c9-b1e4-8339eb8abf87 /
│ ├─cl-swap swap 31276342-47f9-4f0a-8b91-f1725e19a3c2 [SWAP]
│ └─cl-date xfs 6acc18fa-5d5c-467d-8b95-1311f26bcf71 /date
└─sda3 ext4 c2783a60-a6fc-4f6d-a118-a1344aeeb7ec
sdb LVM2_member WqSW6e-BTxW-xMV2-Bdw8-ox6t-PJHe-ykYCgP
sdc LVM2_member OaDeVf-U11t-AZze-38t6-o8gv-xkWB-AYf1YW
└─testvg-testlv ext4 07db0c4d-9540-4d9c-a79c-455aa0d4e4f1 /testlv
sdd
└─sdd1 ext4 TEST 661adda1-ba20-431b-9608-0122c700e769
sr0 iso9660 CentOS-8-2-2004-x86_64-dvd 2020-06-08-22-08-25-00
? 22:32:28-root:~# tune2fs -l /dev/sdd1
tune2fs 1.45.6 (20-Mar-2020)
Filesystem volume name: TEST
Last mounted on: <not available>
Filesystem UUID: 661adda1-ba20-431b-9608-0122c700e769
Filesystem magic number: 0xEF53
Filesystem revision #: 1 (dynamic)
Filesystem features: has_journal ext_attr resize_inode dir_index filetype extent 64bit flex_bg sparse_super large_file huge_file dir_nlink extra_isize metadata_csum
Filesystem flags: signed_directory_hash
Default mount options: user_xattr acl
Filesystem state: clean
Errors behavior: Continue
Filesystem OS type: Linux
Inode count: 65536
Block count: 262144
Reserved block count: 2621
Free blocks: 249189
Free inodes: 65525
First block: 0
Block size: 4096
Fragment size: 4096
Group descriptor size: 64
Reserved GDT blocks: 127
Blocks per group: 32768
Fragments per group: 32768
Inodes per group: 8192
Inode blocks per group: 512
Flex block group size: 16
Filesystem created: Sat Jan 9 22:06:30 2021
Last mount time: Sat Jan 9 22:15:07 2021
Last write time: Sat Jan 9 22:17:05 2021
Mount count: 1
Maximum mount count: -1
Last checked: Sat Jan 9 22:06:30 2021
Check interval: 0 (<none>)
Lifetime writes: 17 MB
Reserved blocks uid: 0 (user root)
Reserved blocks gid: 0 (group root)
First inode: 11
Inode size: 256
Required extra isize: 32
Desired extra isize: 32
Journal inode: 8
Default directory hash: half_md4
Directory Hash Seed: ddab3b50-7803-4b13-83c3-9074c3d5a9d8
Journal backup: inode blocks
Checksum type: crc32c
Checksum: 0x322e1a54
? 22:40:41-root:/etc# blkid /dev/sdd1 #查詢sdd1的UUID
/dev/sdd1: LABEL="TEST" UUID="661adda1-ba20-431b-9608-0122c700e769" BLOCK_SIZE="4096" TYPE="ext4" PARTUUID="5f1013a7-01"
? 22:43:47-root:/etc# sed -rn 's/^[^#.*]//p' /etc/fstab #在/etc/fstab文件中按格式填入sdd1的UUID,實(shí)現(xiàn)自動(dòng)掛載
dev/mapper/cl-root / xfs defaults 0 0
UID=29090182-4327-42a5-8b5e-1593be1da80e /boot ext4 defaults 1 2
dev/mapper/cl-date /date xfs defaults 0 0
dev/mapper/cl-swap swap swap defaults 0 0
UID="07db0c4d-9540-4d9c-a79c-455aa0d4e4f1 /testlv ext4 defaults 0 0
UID=661adda1-ba20-431b-9608-0122c700e769 /test ext4 acl 0 0
? 22:53:08-root:mount -a
? 22:53:08-root:/etc# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 200G 0 disk
├─sda1 8:1 0 1.9G 0 part /boot
├─sda2 8:2 0 143.4G 0 part
│ ├─cl-root 253:0 0 93.1G 0 lvm /
│ ├─cl-swap 253:1 0 3.7G 0 lvm [SWAP]
│ └─cl-date 253:2 0 46.6G 0 lvm /date
└─sda3 8:3 0 54.7G 0 part
sdb 8:16 0 2G 0 disk
sdc 8:32 0 18G 0 disk
└─testvg-testlv 253:3 0 15G 0 lvm /mnt/testlv
sdd 8:48 0 2G 0 disk
└─sdd1 8:49 0 1G 0 part /test
sr0 11:0 1 7.7G 0 rom
4、創(chuàng)建一個(gè)至少有兩個(gè)PV組成的大小為20G的名為testvg的VG;要求PE大小 為16MB, 而后在卷組中創(chuàng)建大小為5G的邏輯卷testlv;掛載至/users目錄
? 18:50:04-root:~# lsblk #查看新添加的兩塊硬盤(pán)sdb和sdc
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 200G 0 disk
├─sda1 8:1 0 1.9G 0 part /boot
└─sda2 8:2 0 143.4G 0 part
├─cl-root 253:0 0 93.1G 0 lvm /
├─cl-swap 253:1 0 3.7G 0 lvm [SWAP]
└─cl-date 253:2 0 46.6G 0 lvm /date
sdb 8:16 0 2G 0 disk
sdc 8:32 0 18G 0 disk
sr0 11:0 1 7.7G 0 rom
? 18:50:06-root:~# pvcreate /dev/sdb /dev/sdc #第一步,將sdb和sdc創(chuàng)建成物理卷
Physical volume "/dev/sdb" successfully created.
Physical volume "/dev/sdc" successfully created.
? 18:50:19-root:~# pvdisplay
--- Physical volume ---
"/dev/sdb" is a new physical volume of "2.00 GiB"
--- NEW Physical volume ---
PV Name /dev/sdb
VG Name
PV Size 2.00 GiB
Allocatable NO
PE Size 0
Total PE 0
Free PE 0
Allocated PE 0
PV UUID WqSW6e-BTxW-xMV2-Bdw8-ox6t-PJHe-ykYCgP
"/dev/sdc" is a new physical volume of "18.00 GiB"
--- NEW Physical volume ---
PV Name /dev/sdc
VG Name
PV Size 18.00 GiB
Allocatable NO
PE Size 0
Total PE 0
Free PE 0
Allocated PE 0
PV UUID OaDeVf-U11t-AZze-38t6-o8gv-xkWB-AYf1YW
? 18:51:02-root:~# vgcreate -s 16m testvg /dev/sdb /dev/sdc #第二部,創(chuàng)建邏輯卷組,指定pe大小位16m,名稱testvg
Volume group "testvg" successfully created
? 18:51:58-root:~# vgdisplay
--- Volume group ---
VG Name testvg
System ID
Format lvm2
Metadata Areas 2
Metadata Sequence No 1
VG Access read/write
VG Status resizable
MAX LV 0
Cur LV 0
Open LV 0
Max PV 0
Cur PV 2
Act PV 2
VG Size <19.97 GiB
PE Size 16.00 MiB
Total PE 1278
Alloc PE / Size 0 / 0
Free PE / Size 1278 / <19.97 GiB
VG UUID BPlN7k-kcH4-5EFg-xrwx-kWd2-QRTq-YRT4IT
? 18:52:02-root:~# pvs
PV VG Fmt Attr PSize PFree
/dev/sda2 cl lvm2 a-- <143.43g 4.00m
/dev/sdb testvg lvm2 a-- 1.98g 1.98g
/dev/sdc testvg lvm2 a-- 17.98g 17.98g
? 18:59:56-root:~# lvcreate -n testlv -L 5G testvg #第三步,創(chuàng)建大小位5G的邏輯卷testlv
Logical volume "testlv" created.
? 19:01:39-root:~# lvdisplay
--- Logical volume ---
LV Path /dev/testvg/testlv
LV Name testlv
VG Name testvg
LV UUID dBIkjz-xUPP-2iiA-UL3g-KC6B-k366-VI8ItR
LV Write Access read/write
LV Creation host, time Centos8.2-10.0.0.8, 2021-01-09 19:01:39 +0800
LV Status available
# open 0
LV Size 5.00 GiB
Current LE 320
Segments 1
Allocation inherit
Read ahead sectors auto
- currently set to 8192
Block device 253:3
? 19:11:38-root:~# mkfs.ext4 /dev/testvg/testlv #第4步,為testlv創(chuàng)建ext4的文件系統(tǒng)
mke2fs 1.45.6 (20-Mar-2020)
Creating filesystem with 1310720 4k blocks and 327680 inodes
Filesystem UUID: 07db0c4d-9540-4d9c-a79c-455aa0d4e4f1
Superblock backups stored on blocks:
32768, 98304, 163840, 229376, 294912, 819200, 884736
Allocating group tables: done
Writing inode tables: done
Creating journal (16384 blocks): done
Writing superblocks and filesystem accounting information: done
? 19:19:05-root:~# mkdir /users #第5步,創(chuàng)建掛載點(diǎn)
? 19:19:31-root:~# mount /dev/testvg/testlv /users #第6步,掛載,持久掛載要將testlv的UUID填入到/etc/fstab文件中即可
? 19:19:49-root:~# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 200G 0 disk
├─sda1 8:1 0 1.9G 0 part /boot
└─sda2 8:2 0 143.4G 0 part
├─cl-root 253:0 0 93.1G 0 lvm /
├─cl-swap 253:1 0 3.7G 0 lvm [SWAP]
└─cl-date 253:2 0 46.6G 0 lvm /date
sdb 8:16 0 2G 0 disk
sdc 8:32 0 18G 0 disk
└─testvg-testlv 253:3 0 5G 0 lvm /users
sr0 11:0 1 7.7G 0 rom