一、檢視系統磁盤分區狀态
執行指令:
cat /proc/partitions
傳回結果:
[[email protected] ~]# cat /proc/partitions
major minor #blocks name
11 0 4228096 sr0
8 0 16777216 sda
8 1 512000 sda1
8 2 16264192 sda2
8 32 41943040 sdc
8 16 41943040 sdb
253 0 14540800 dm-0
253 1 1679360 dm-1
7 0 2097152 loop0
7 1 21600256 loop1
253 2 20480 dm-2
253 3 20520960 dm-3
253 4 20520960 dm-4
253 5 20520960 dm-5
253 6 6291456 dm-6
253 7 20971520 dm-7
253 8 157286400 dm-8
253 9 10485760 dm-9
二、要将磁盤sdb 和 sdc 兩個40G的磁盤組成raid1
注意:如果 sdb 和 sdc 不是新加的,需要把磁盤分區删除
三、進入/dev/sdb 進行建立磁盤
執行指令:
##進入 /dev/sdb
fdisk /dev/sdb
##檢視磁盤資訊
p
##建立磁盤(如果是空的就建立磁盤,不是空的,就把原有的删除,輸入 d 即可删除),一路預設即可
n
##更改分區類型,改為raid 類型
t
fd
##檢視結果
p
##确認無誤,儲存退出即可
w
傳回結果:
[[email protected] ~]# fdisk /dev/sdb
歡迎使用 fdisk (util-linux 2.23.2)。
更改将停留在記憶體中,直到您決定将更改寫入磁盤。
使用寫入指令前請三思。
Device does not contain a recognized partition table
使用磁盤辨別符 0x4364e246 建立新的 DOS 磁盤标簽。
指令(輸入 m 擷取幫助):p
磁盤 /dev/sdb:42.9 GB, 42949672960 位元組,83886080 個扇區
Units = 扇區 of 1 * 512 = 512 bytes
扇區大小(邏輯/實體):512 位元組 / 512 位元組
I/O 大小(最小/最佳):512 位元組 / 512 位元組
磁盤标簽類型:dos
磁盤辨別符:0x4364e246
裝置 Boot Start End Blocks Id System
指令(輸入 m 擷取幫助):n
Partition type:
p primary (0 primary, 0 extended, 4 free)
e extended
Select (default p): p
分區号 (1-4,預設 1):1
起始 扇區 (2048-83886079,預設為 2048):
将使用預設值 2048
Last 扇區, +扇區 or +size{K,M,G} (2048-83886079,預設為 83886079):
将使用預設值 83886079
分區 1 已設定為 Linux 類型,大小設為 40 GiB
指令(輸入 m 擷取幫助):t
已選擇分區 1
Hex 代碼(輸入 L 列出所有代碼):fd
已将分區“Linux”的類型更改為“Linux raid autodetect”
指令(輸入 m 擷取幫助):p
磁盤 /dev/sdb:42.9 GB, 42949672960 位元組,83886080 個扇區
Units = 扇區 of 1 * 512 = 512 bytes
扇區大小(邏輯/實體):512 位元組 / 512 位元組
I/O 大小(最小/最佳):512 位元組 / 512 位元組
磁盤标簽類型:dos
磁盤辨別符:0x4364e246
裝置 Boot Start End Blocks Id System
/dev/sdb1 2048 83886079 41942016 fd Linux raid autodetect
指令(輸入 m 擷取幫助):w
The partition table has been altered!
Calling ioctl() to re-read partition table.
正在同步磁盤。
/dev/sdc 操作與以上操作一緻,步驟略。
四、檢視/dev/sdb 和 /dev/sdc 資訊
執行指令:
fdisk -l /dev/sdb /dev/sdc
傳回結果:
[[email protected] ~]# fdisk -l /dev/sdb /dev/sdc
磁盤 /dev/sdb:42.9 GB, 42949672960 位元組,83886080 個扇區
Units = 扇區 of 1 * 512 = 512 bytes
扇區大小(邏輯/實體):512 位元組 / 512 位元組
I/O 大小(最小/最佳):512 位元組 / 512 位元組
磁盤标簽類型:dos
磁盤辨別符:0x4364e246
裝置 Boot Start End Blocks Id System
/dev/sdb1 2048 83886079 41942016 fd Linux raid autodetect
磁盤 /dev/sdc:42.9 GB, 42949672960 位元組,83886080 個扇區
Units = 扇區 of 1 * 512 = 512 bytes
扇區大小(邏輯/實體):512 位元組 / 512 位元組
I/O 大小(最小/最佳):512 位元組 / 512 位元組
磁盤标簽類型:dos
磁盤辨別符:0xf432293b
裝置 Boot Start End Blocks Id System
/dev/sdc1 2048 83886079 41942016 fd Linux raid autodetect
五、确認資訊無誤,開始建立RAID
執行指令:
mdadm -C /dev/md1 -ayes -l1 -n2 /dev/sd[b,c]1
傳回結果:
[[email protected] ~]# mdadm -C /dev/md1 -ayes -l1 -n2 /dev/sd[b,c]1
mdadm: Note: this array has metadata at the start and
may not be suitable as a boot device. If you plan to
store '/boot' on this device please ensure that
your boot-loader understands md/v1.x metadata, or use
--metadata=0.90
Continue creating array?
Continue creating array? (y/n) y
mdadm: Defaulting to version 1.2 metadata
mdadm: array /dev/md1 started.
六、檢視RAID 資訊狀态
執行指令:
cat /proc/mdstat
cat /proc/partitions
傳回結果:
[[email protected] ~]# cat /proc/mdstat
Personalities : [raid1]
md1 : active raid1 sdc1[1] sdb1[0]
41908224 blocks super 1.2 [2/2] [UU]
[===>.................] resync = 15.3% (6443008/41908224) finish=7.8min speed=75004K/sec
unused devices: <none>
[[email protected] ~]# cat /proc/mdstat
Personalities : [raid1]
md1 : active raid1 sdc1[1] sdb1[0]
41908224 blocks super 1.2 [2/2] [UU]
[===>.................] resync = 16.8% (7058432/41908224) finish=7.6min speed=76231K/sec
unused devices: <none>
[[email protected] ~]# cat /proc/mdstat
Personalities : [raid1]
md1 : active raid1 sdc1[1] sdb1[0]
41908224 blocks super 1.2 [2/2] [UU]
[====>................] resync = 22.9% (9613312/41908224) finish=7.3min speed=73362K/sec
unused devices: <none>
[[email protected] ~]# cat /proc/partitions
major minor #blocks name
11 0 4228096 sr0
8 0 16777216 sda
8 1 512000 sda1
8 2 16264192 sda2
8 32 41943040 sdc
8 33 41942016 sdc1
8 16 41943040 sdb
8 17 41942016 sdb1
253 0 14540800 dm-0
253 1 1679360 dm-1
7 0 2097152 loop0
7 1 21600256 loop1
253 2 20480 dm-2
253 3 20520960 dm-3
253 4 20520960 dm-4
253 5 20520960 dm-5
253 6 6291456 dm-6
253 7 20971520 dm-7
253 8 157286400 dm-8
253 9 10485760 dm-9
9 1 41908224 md1
七、修改配置檔案/etc/mdadm.conf
執行指令:
echo DEVICE /dev/sd{b,c}1 >> /etc/mdadm.conf
mdadm -Ds >> /etc/mdadm.conf
cat /etc/mdadm.conf
傳回結果:
[[email protected] ~]# echo DEVICE /dev/sd{b,c}1 >> /etc/mdadm.conf
[[email protected] ~]# mdadm -Ds >> /etc/mdadm.conf
[[email protected] ~]# cat /etc/mdadm.conf
DEVICE /dev/sdb1 /dev/sdc1
ARRAY /dev/md1 metadata=1.2 name=localhost.localdomain:1 UUID=c6cb716b:9f2c7668:76178668:88fc84e3
八、格式化RAID,為其選擇分區格式
執行指令:
mkfs.ext4 /dev/md1
傳回結果:
[[email protected] ~]# mkfs.ext4 /dev/md1
mke2fs 1.42.9 (28-Dec-2013)
檔案系統标簽=
OS type: Linux
塊大小=4096 (log=2)
分塊大小=4096 (log=2)
Stride=0 blocks, Stripe width=0 blocks
2621440 inodes, 10477056 blocks
523852 blocks (5.00%) reserved for the super user
第一個資料塊=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: 完成
正在寫入inode表: 完成
Creating journal (32768 blocks): 完成
Writing superblocks and filesystem accounting information: 完成
到此,RAID1已經制作完成
十、設定開機自動挂載,/etc/fstab 和 /etc/rc.d/rc.local 都可以添加
添加到 /etc/fstab,執行指令:
##建立 raid 目錄,把md1 挂載到 /raid 目錄上
mkdir /raid
##将挂載内容輸出到/etc/fstab 裡
echo "/dev/md1 /raid ext4 defaults 0 0" >> /etc/fstab
##檢視内容資訊
cat /etc/fstab
##重新加載/etc/fstab 内容
mount -a
傳回結果:
[[email protected] ~]# mkdir /raid
[[email protected] ~]# echo "/dev/md1 /raid ext4 defaults 0 0" >> /etc/fstab
[[email protected] ~]# cat /etc/fstab
# HEADER: This file was autogenerated at 2020-08-21 23:01:50 +0800
# HEADER: by puppet. While it can still be managed manually, it
# HEADER: is definitely not recommended.
#
# /etc/fstab
# Created by anaconda on Mon Jul 20 18:41:03 2020
#
# Accessible filesystems, by reference, are maintained under '/dev/disk'
# See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info
#
/dev/mapper/centos-root / xfs defaults 0 0
UUID=f2bb4865-04fd-4a78-8c85-9181d0077b97 /boot xfs defaults 0 0
/dev/mapper/centos-swap swap swap defaults 0 0
/srv/loopback-device/swiftloopback /srv/node/swiftloopback ext4 noatime,nodiratime,nobarrier,loop,user_xattr 0
/dev/md1 /raid ext4 defaults 0 0
[[email protected] ~]# mount -a
十一、編輯 /etc/rc.d/rc.local 檔案
執行指令:
echo "mount /dev/md1 /raid" >> /etc/rc.d/rc.local
傳回結果:
[[email protected] ~]# echo "mount /dev/md1 /raid" >> /etc/rc.d/rc.local
注意:第十步和第十一步任選一個即可
十二、reboot 重新開機,df -Th 檢視内容資訊
執行指令:
df -Th
傳回結果:
[[email protected] ~]# df -Th
檔案系統 類型 容量 已用 可用 已用% 挂載點
devtmpfs devtmpfs 3.9G 0 3.9G 0% /dev
tmpfs tmpfs 3.9G 0 3.9G 0% /dev/shm
tmpfs tmpfs 3.9G 9.3M 3.9G 1% /run
tmpfs tmpfs 3.9G 0 3.9G 0% /sys/fs/cgroup
/dev/mapper/centos-root xfs 14G 4.3G 9.7G 31% /
/dev/md1 ext4 40G 49M 38G 1% /raid
/dev/loop0 ext4 1.9G 6.1M 1.7G 1% /srv/node/swiftloopback
/dev/sda1 xfs 497M 168M 330M 34% /boot
tmpfs tmpfs 783M 4.0K 783M 1% /run/user/42
tmpfs tmpfs 783M 0 783M 0% /run/user/0