1.掛載裝置
mount + 裝置 +掛載目錄
1 [root@linuxprobe ~]# mount /dev/sdb2 /backup
2.顯示裝置屬性資訊blkid
3.df -h
檢視已掛載裝置磁碟使用情況
4.RAID(獨立冗餘磁碟陣列)
5.mdadm 命令用於建立、調整、監控和管理 RAID 裝置
1 其中,-C 引數代表建立一個 RAID 陣列卡;-v 2 引數顯示建立的過程,同時在後面追加一個裝置名稱/dev/md0,這樣/dev/md0 就是建立後的 3 RAID 磁碟陣列的名稱;-n 4 引數代表使用 4 塊硬碟來部署這個 RAID 磁碟陣列;而-l 10 引數 4 則代表 RAID 10 方案;最後再加上 4 塊硬碟裝置的名稱就搞定了。 5 [root@linuxprobe~]# mdadm -Cv /dev/md0 -n 4 -l 10 /dev/sdb /dev/sdc /dev/sdd /dev/sde 6 mdadm: layout defaults to n2 7 mdadm: layout defaults to n2 8 mdadm: chunk size defaults to 512K 9 mdadm: size set to 20954112K 10 mdadm: Defaulting to version 1.2 metadata 11 mdadm: array /dev/md0 started.
等兩三分鐘後,把製作好的 RAID 磁碟陣列格式化為 Ext4 格式:
[root@linuxprobe~]# mkfs.ext4 /dev/md0
mke2fs 1.44.3 (10-July-2018)
Creating filesystem with 10477056 4k blocks and 2621440 inodes
隨後,建立掛載點,將硬碟裝置進行掛載操作:
[root@linuxprobe~]# mkdir /RAID
[root@linuxprobe~]# mount /dev/md0 /RAID
[root@linuxprobe~]# df -h
如果想讓建立好的 RAID 磁碟陣列能夠一直提供服務,不會因每次的重啟操作而取消,
那麼一定要記得將資訊新增到/etc/fstab 檔案中,這樣可以確保在每次重啟後 RAID 磁碟陣列 都是有效的。
[root@linuxprobe~]# echo "/dev/md0 /RAID ext4 defaults 0 0" >> /etc/fstab
[root@linuxprobe~]# cat /etc/fstab
1 [root@linuxprobe~]# mdadm /dev/md0 -r /dev/sdb 2 mdadm: hot removed /dev/sdb from /dev/md0 3 4 [root@linuxprobe~]# mdadm /dev/md0 -a /dev/sdb 5 mdadm: added /dev/sdb 6 [root@linuxprobe~]# mdadm -D /dev/md0 7 /dev/md0: 8 Version : 1.2 9 Creation Time : Thu Jan 14 05:12:20 2021 10 Raid Level : raid10 11 Array Size : 41908224 (39.97 GiB 42.91 GB) 12 Used Dev Size : 20954112 (19.98 GiB 21.46 GB) 13 Raid Devices : 4 14 Total Devices :
6.raid5
1 下面的命令中,引數-n 3代表建立這個 RAID 2 5 磁碟陣列所需的硬碟數,引數-l 5 代表 RAID 的級別,而引數-x 1 則代表有一塊備份盤。 3 當檢視/dev/md0(即 RAID 5 磁碟陣列的名稱)磁碟陣列的時候,就能看到有一塊備份盤在等 4 待中了。 5 [root@linuxprobe~]# mdadm -Cv /dev/md0 -n 3 -l 5 -x 1 /dev/sdb /dev/sdc /dev/sdd /dev/sde 6 mdadm: layout defaults to left-symmetric 7 mdadm: layout defaults to left-symmetric 8 mdadm: chunk size defaults to 512K 9 mdadm: size set to 20954112K 10 mdadm: Defaulting to version 1.2 metadata 11 mdadm: array /dev/md0 started. 12 [root@linuxprobe~]# mdadm -D /dev/md0
7.刪除磁碟陣列
1 首先,需要將所有的磁碟都設定成停用狀態: 2 [root@linuxprobe~]# umount /RAID 3 [root@linuxprobe~]# mdadm /dev/md0 -f /dev/sdc 4 mdadm: set /dev/sdc faulty in /dev/md0 5 [root@linuxprobe~]# mdadm /dev/md0 -f /dev/sdd 6 mdadm: set /dev/sdd faulty in /dev/md0 7 [root@linuxprobe~]# mdadm /dev/md0 -f /dev/sde 8 mdadm: set /dev/sde faulty in /dev/md0 9 然後再逐一移除出去: 10 [root@linuxprobe~]# mdadm /dev/md0 -r /dev/sdb 11 mdadm: hot removed /dev/sdb from /dev/md0 12 [root@linuxprobe~]# mdadm /dev/md0 -r /dev/sdc 13 mdadm: hot removed /dev/sdc from /dev/md0 14 [root@linuxprobe~]# mdadm /dev/md0 -r /dev/sdd 15 mdadm: hot removed /dev/sdd from /dev/md0 16 [root@linuxprobe~]# mdadm /dev/md0 -r /dev/sde 17 mdadm: hot removed /dev/sde from /dev/md0 18 如果著急,也可以用“mdadm /dev/md0 -f /dev/sdb -r /dev/sdb”這一條命令搞定。但是,在早 19 期版本的伺服器中,這條命令中的-f 和-r 不能一起使用,因此保守起見,還是一步步地操作吧。 20 將所有的硬碟都移除後,再來檢視磁碟陣列組的狀態: 21 [root@linuxprobe~]# mdadm -D /dev/md0 22 /dev/md0: 23 Version : 1.2 24 Creation Time : Fri Jan 15 08:53:41 2021 25 Raid Level : raid5 26 Array Size : 41908224 (39.97 GiB 42.91 GB) 27 Used Dev Size : 20954112 (19.98 GiB 21.46 GB) 28 Raid Devices : 3 29 Total Devices : 0 30 Persistence : Superblock is persistent 31 Update Time : Fri Jan 15 09:00:57 2021 32 State : clean, FAILED 33 Active Devices : 0 34 Failed Devices : 0 35 Spare Devices : 0 36 Layout : left-symmetric 37 Chunk Size : 512K 38 Consistency Policy : resync 39 Number Major Minor RaidDevice State 40 - 0 0 0 removed 41 - 0 0 1 removed 42 - 0 0 2 removed 43 很棒!下面繼續停用整個 RAID 磁碟陣列,咱們的工作就徹底完成了: 44 [root@linuxprobe~]# mdadm --stop /dev/md0
8.邏輯卷管理器 (Logical Volume Manager,LVM)。LVM 允許使用者對硬碟資源進行動態調整。
第一步:讓新新增的兩塊硬碟裝置支援 LVM 技術。 [root@linuxprobe~]# pvcreate /dev/sdb /dev/sdc Physical volume "/dev/sdb" successfully created. Physical volume "/dev/sdc" successfully created 第二步:把兩塊硬碟裝置加入到 storage 卷組中,然後檢視卷組的狀態。 [root@linuxprobe~]# vgcreate storage /dev/sdb /dev/sdc Volume group "storage" successfully created [root@linuxprobe~]# vgdisplay 第三步切割出一個約為 150MB 的邏輯卷裝置。 這裡需要注意切割單位的問題。在對邏輯捲進行切割時有兩種計量單位。第一種是以容 量為單位,所使用的引數為-L。例如,使用-L 150M 生成一個大小為 150MB 的邏輯卷。另外 一種是以基本單元的個數為單位,所使用的引數為-l。每個基本單元的大小預設為 4MB。例 如,使用-l 37 可以生成一個大小為 37×4MB=148MB 的邏輯卷。 [root@linuxprobe~]# lvcreate -n vo -l 37 storage Logical volume "vo" created. [root@linuxprobe~]# lvdisplay 第四步:把生成好的邏輯捲進行格式化,然後掛載使用。 Linux 系統會把 LVM 中的邏輯卷裝置存放在/dev 裝置目錄中(實際上就是個快捷方式), 同時會以卷組的名稱來建立一個目錄,其中儲存了邏輯卷的裝置對映檔案(即/dev/卷組名稱/ 邏輯卷名稱)。 [root@linuxprobe ~]# mkfs.ext4 /dev/storage/vo [root@linuxprobe~]# mkdir /linuxprobe [root@linuxprobe~]# mount /dev/storage/vo /linuxprobe 永久生效 [root@linuxprobe~]# echo "/dev/storage/vo /linuxprobe ext4 defaults 0 0" >> /etc/fstab [root@linuxprobe~]# cat /etc/fstab
9.擴容邏輯卷
1 [root@linuxprobe~]# umount /linuxprobe 2 :把上一個實驗中的邏輯卷 vo 擴充套件至 290MB。 3 [root@linuxprobe~]# lvextend -L 290M /dev/storage/vo 4 Rounding size to boundary between physical extents: 292.00 MiB. 5 Size of logical volume storage/vo changed from 148 MiB (37 extents) to 292 MiB 6 (73 extents). 7 Logical volume storage/vo successfully resized. 8 :檢查硬碟的完整性,確認目錄結構、內容和檔案內容沒有丟失。一般情況下沒 9 有報錯,均為正常情況。 10 [root@linuxprobe~]# e2fsck -f /dev/storage/vo 11 e2fsck 1.44.3 (10-July-2018) 12 Pass 1: Checking inodes, blocks, and sizes 13 Pass 2: Checking directory structure 14 Pass 3: Checking directory connectivity 15 使用 RAID 與 LVM 磁碟陣列技術 16 232 17 Pass 4: Checking reference counts 18 Pass 5: Checking group summary information 19 /dev/storage/vo: 11/38000 files (0.0% non-contiguous), 10453/151552 blocks 20 :重置裝置在系統中的容量。剛剛是對 LV(邏輯卷)裝置進行了擴容操作,但系 21 統核心還沒有同步到這部分新修改的資訊,需要手動進行同步。 22 [root@linuxprobe~]# resize2fs /dev/storage/vo 23 resize2fs 1.44.3 (10-July-2018) 24 Resizing the filesystem on /dev/storage/vo to 299008 (1k) blocks. 25 The filesystem on /dev/storage/vo is now 299008 (1k) blocks long. 26 :重新掛載硬碟裝置並檢視掛載狀態。 27 [root@linuxprobe~]# mount -a 28 [root@linuxprobe~]# df -h
10.縮小邏輯卷
1 [root@linuxprobe~]# umount /linuxprobe 2 :檢查檔案系統的完整性。 3 [root@linuxprobe~]# e2fsck -f /dev/storage/vo 4 e2fsck 1.44.3 (10-July-2018) 5 Pass 1: Checking inodes, blocks, and sizes 6 Pass 2: Checking directory structure 7 Pass 3: Checking directory connectivity 8 Pass 4: Checking reference counts 9 Pass 5: Checking group summary information 10 /dev/storage/vo: 11/74000 files (0.0% non-contiguous), 15507/299008 blocks 11 233 12 :通知系統核心將邏輯卷 vo 的容量減小到 120MB。 13 [root@linuxprobe~]# resize2fs /dev/storage/vo 120M 14 resize2fs 1.44.3 (10-July-2018) 15 Resizing the filesystem on /dev/storage/vo to 122880 (1k) blocks. 16 The filesystem on /dev/storage/vo is now 122880 (1k) blocks long. 17 :將 LV(邏輯卷)的容量修改為 120MB。 18 [root@linuxprobe~]# lvreduce -L 120M /dev/storage/vo 19 WARNING: Reducing active logical volume to 120.00 MiB. 20 THIS MAY DESTROY YOUR DATA (filesystem etc.) 21 Do you really want to reduce storage/vo? [y/n]: y 22 Size of logical volume storage/vo changed from 292 MiB (73 extents) to 120 23 MiB (30 extents). 24 Logical volume storage/vo successfully resized. 25 咦?縮容的步驟跟擴容的步驟不一樣啊。縮容操作為什麼是先通知系統核心裝置的容量 26 要改變成 120MB,然後再正式進行縮容操作呢?舉個例子大家就明白了。小強是一名初中生, 27 開學後看到班裡有位同學紋了身,他感覺很酷,自己也想紋但又怕家裡責罵,於是他回家後 28 就說:“媽媽,我紋身了。”如果媽媽的反應很平和,那麼他就可以放心大膽地去紋身了。如 29 果媽媽強烈不同意,他馬上就可以哈哈一笑,說:“逗著玩呢。”這樣也就不會捱打了。 30 縮容操作也是同樣的道理,先通知系統核心自己想縮小邏輯卷,如果在執行 resize2fs 命 31 令後系統沒有報錯,再正式操作。 32 :重新掛載檔案系統並檢視系統狀態。 33 [root@linuxprobe~]# mount -a 34 [root@linuxprobe~]# df
5.LVM(邏輯卷管理器)