第七周:磁盤(pán)及文件系統(tǒng)管理

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最能明顯感受到性能的提升。

image-20201219223224310.png
  • 讀、寫(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)。

image-20201219223347331.png
  • 讀性能提升、寫(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ì)較便宜


image-20201219224613616.png
  • 讀、寫(xiě)性能提升
  • 可用空間:(N-1)*min(S1,S2,...)
  • 有容錯(cuò)能力:允許最多1塊磁盤(pán)損壞
  • 最少磁盤(pán)數(shù):3, 3+
raid 6
image-20201219225049356.png
  • 讀、寫(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,反之亦然

image-20201219224953055.png

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ù)冗余功能)

image-20201219230047578.png
其它級(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,...)

image-20201219230313971.png
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  
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 磁盤(pán)配額 現(xiàn)在有這樣一個(gè)場(chǎng)景,當(dāng)我們將一個(gè)文件系統(tǒng)掛載一個(gè)目錄下,大小為10個(gè)G,用戶都可以在這個(gè)目錄下創(chuàng)建和刪除...
    毛利卷卷發(fā)閱讀 596評(píng)論 0 1
  • 文件系統(tǒng)配額管理RAIDLVM邏輯卷管理器 一、文件系統(tǒng)配額管理 文件系統(tǒng)配額:在內(nèi)核中啟用,以文件系統(tǒng)為管理單位...
    哈嘍別樣閱讀 389評(píng)論 0 0
  • 配置配額系統(tǒng) 綜述 ?在內(nèi)核中執(zhí)行 ?以文件系統(tǒng)為單位啟用 ?對(duì)不同組或者用戶的策略不同 根據(jù)塊或者節(jié)點(diǎn)進(jìn)行限制 ...
    逢場(chǎng)作戲_6fb9閱讀 470評(píng)論 0 0
  • 目錄(持續(xù)更新) 基礎(chǔ)-第0章-安裝基礎(chǔ)-第1章-基本操作基礎(chǔ)-第2章-磁盤(pán)及文件系統(tǒng)管理基礎(chǔ)-第3章-獲得幫助基...
    sky92archangel閱讀 768評(píng)論 0 0
  • 久違的晴天,家長(zhǎng)會(huì)。 家長(zhǎng)大會(huì)開(kāi)好到教室時(shí),離放學(xué)已經(jīng)沒(méi)多少時(shí)間了。班主任說(shuō)已經(jīng)安排了三個(gè)家長(zhǎng)分享經(jīng)驗(yàn)。 放學(xué)鈴聲...
    飄雪兒5閱讀 7,819評(píng)論 16 22

友情鏈接更多精彩內(nèi)容