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è)備的名稱就搞定了。

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

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

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

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

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

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

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

掃描二維碼

下載編程獅App

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

編程獅公眾號(hào)