7.1.1 部署磁盤陣列

2023-05-11 15:45 更新

在具備了上一章的硬盤設(shè)備管理基礎(chǔ)之后,再來部署RAID和LVM就變得十分輕松了。首先,需要在虛擬機(jī)中添加4塊硬盤設(shè)備來制作一個(gè)RAID 10磁盤陣列,如圖7-5所示。

圖7-5 為虛擬機(jī)系統(tǒng)模擬添加4塊硬盤設(shè)備

這幾塊硬盤設(shè)備是模擬出來的,不需要特意去買幾塊真實(shí)的物理硬盤插到電腦上。需要注意的是,一定要記得在關(guān)閉系統(tǒng)之后,再在虛擬機(jī)中添加硬盤設(shè)備,否則可能會(huì)因?yàn)橛?jì)算機(jī)架構(gòu)的不同而導(dǎo)致虛擬機(jī)系統(tǒng)無法識(shí)別添加的硬盤設(shè)備。

mdadm命令用于管理Linux系統(tǒng)中的軟件RAID硬盤陣列,格式為“mdadm [模式] <RAID設(shè)備名稱> [選項(xiàng)] [成員設(shè)備名稱]”。

當(dāng)前,生產(chǎn)環(huán)境中用到的服務(wù)器一般都配備RAID陣列卡,盡管服務(wù)器的價(jià)格越來越便宜,但是我們沒有必要為了做一個(gè)實(shí)驗(yàn)而去單獨(dú)購(gòu)買一臺(tái)服務(wù)器,而是可以學(xué)會(huì)用mdadm命令在Linux系統(tǒng)中創(chuàng)建和管理軟件RAID磁盤陣列,而且它涉及的理論知識(shí)的操作過程與生產(chǎn)環(huán)境中的完全一致。mdadm命令的常用參數(shù)以及作用如表7-1所示。

表7-1 mdadm命令的常用參數(shù)和作用

參數(shù) 作用
-a 檢測(cè)設(shè)備名稱
-n 指定設(shè)備數(shù)量
-l 指定RAID級(jí)別
-C 創(chuàng)建
-v 顯示過程
-f 模擬設(shè)備損壞
-r 移除設(shè)備
-Q 查看摘要信息
-D 查看詳細(xì)信息
-S 停止RAID磁盤陣列

接下來,使用mdadm命令創(chuàng)建RAID 10,名稱為“/dev/md0”。

第6章中講到,udev是Linux系統(tǒng)內(nèi)核中用來給硬件命名的服務(wù),其命名規(guī)則也非常簡(jiǎn)單。我們可以通過命名規(guī)則猜測(cè)到第二個(gè)SCSI存儲(chǔ)設(shè)備的名稱會(huì)是/dev/sdb,然后依此類推。使用硬盤設(shè)備來部署RAID磁盤陣列很像是將幾位同學(xué)組成一個(gè)班級(jí),但總不能將班級(jí)命名為/dev/sdbcde吧。盡管這樣可以一眼看出它是由哪些元素組成的,但是并不利于我們的記憶和閱讀。更何況如果我們是使用10、50、100個(gè)硬盤來部署RAID磁盤陣列呢?

此時(shí),就需要使用mdadm中的參數(shù)了。其中,-C參數(shù)代表創(chuàng)建一個(gè)RAID陣列卡;-v參數(shù)顯示創(chuàng)建的過程,同時(shí)在后面追加一個(gè)設(shè)備名稱/dev/md0,這樣/dev/md0就是創(chuàng)建后的RAID磁盤陣列的名稱;-a yes參數(shù)代表自動(dòng)創(chuàng)建設(shè)備文件;-n 4參數(shù)代表使用4塊硬盤來部署這個(gè)RAID磁盤陣列;而-l 10參數(shù)則代表RAID 10方案;最后再加上4塊硬盤設(shè)備的名稱就搞定了。

  1. [root@linuxprobe ~]# mdadm -Cv /dev/md0 -a yes -n 4 -l 10 /dev/sdb /dev/sdc /dev/sdd /dev/sde
  2. mdadm: layout defaults to n2
  3. mdadm: layout defaults to n2
  4. mdadm: chunk size defaults to 512K
  5. mdadm: size set to 20954624K
  6. mdadm: Defaulting to version 1.2 metadata
  7. mdadm: array /dev/md0 started.

其次,把制作好的RAID磁盤陣列格式化為ext4格式。

  1. [root@linuxprobe ~]# mkfs.ext4 /dev/md0
  2. mke2fs 1.42.9 (28-Dec-2013)
  3. Filesystem label=
  4. OS type: Linux
  5. Block size=4096 (log=2)
  6. Fragment size=4096 (log=2)
  7. Stride=128 blocks, Stripe width=256 blocks
  8. 2621440 inodes, 10477312 blocks
  9. 523865 blocks (5.00%) reserved for the super user
  10. First data block=0
  11. Maximum filesystem blocks=2157969408
  12. 320 block groups
  13. 32768 blocks per group, 32768 fragments per group
  14. 8192 inodes per group
  15. Superblock backups stored on blocks:
  16. 32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208,
  17. 4096000, 7962624
  18. Allocating group tables: done
  19. Writing inode tables: done
  20. Creating journal (32768 blocks): done
  21. Writing superblocks and filesystem accounting information: done

再次,創(chuàng)建掛載點(diǎn)然后把硬盤設(shè)備進(jìn)行掛載操作。掛載成功后可看到可用空間為40GB。

  1. [root@linuxprobe ~]# mkdir /RAID
  2. [root@linuxprobe ~]# mount /dev/md0 /RAID
  3. [root@linuxprobe ~]# df -h
  4. Filesystem Size Used Avail Use% Mounted on
  5. /dev/mapper/rhel-root 18G 3.0G 15G 17% /
  6. devtmpfs 905M 0 905M 0% /dev
  7. tmpfs 914M 84K 914M 1% /dev/shm
  8. tmpfs 914M 8.9M 905M 1% /run
  9. tmpfs 914M 0 914M 0% /sys/fs/cgroup
  10. /dev/sr0 3.5G 3.5G 0 100% /media/cdrom
  11. /dev/sda1 497M 119M 379M 24% /boot
  12. /dev/md0 40G 49M 38G 1% /RAID

最后,查看/dev/md0磁盤陣列的詳細(xì)信息,并把掛載信息寫入到配置文件中,使其永久生效。

  1. [root@linuxprobe ~]# mdadm -D /dev/md0
  2. /dev/md0:
  3. Version : 1.2
  4. Creation Time : Tue May 5 07:43:26 2017
  5. Raid Level : raid10
  6. Array Size : 41909248 (39.97 GiB 42.92 GB)
  7. Used Dev Size : 20954624 (19.98 GiB 21.46 GB)
  8. Raid Devices : 4
  9. Total Devices : 4
  10. Persistence : Superblock is persistent
  11. Update Time : Tue May 5 07:46:59 2017
  12. State : clean
  13. Active Devices : 4
  14. Working Devices : 4
  15. Failed Devices : 0
  16. Spare Devices : 0
  17. Layout : near=2
  18. Chunk Size : 512K
  19. Name : localhost.localdomain:0 (local to host localhost.localdomain)
  20. UUID : cc9a87d4:1e89e175:5383e1e8:a78ec62c
  21. Events : 17
  22. Number Major Minor RaidDevice State
  23. 0 8 16 0 active sync /dev/sdb
  24. 1 8 32 1 active sync /dev/sdc
  25. 2 8 48 2 active sync /dev/sdd
  26. 3 8 64 3 active sync /dev/sde
  27. [root@linuxprobe ~]# echo "/dev/md0 /RAID ext4 defaults 0 0" >> /etc/fstab
以上內(nèi)容是否對(duì)您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號(hào)
微信公眾號(hào)

編程獅公眾號(hào)