一.创建软RAID
- Linux服务器中是通过mdadm工具来创建和维护软RAID的,mdadm在创建和管理软RAID时非常方便,而且很灵活。
mdadm常用的参数有如下:
–-create或-C:创建一个新的软RAID,后面接raid设备的名称。例如,/dev/md0,/dev/md1等。
–-assemble或-A:加载一个已存在的阵列,后面跟阵列以及设备的名称。
–-detail或-D:输出指定RAID设备的详细信息。
–-stop或-S:停止指定的RAID设备。
–-level或-l:设置RAID的级别,例如,设置“-–level=5”则表示创建阵列的级别是RAID 5。
–-raid-devices或-n:指定阵列中活动磁盘的数目。
–-spare-devices:指定阵列中的备用磁盘数目
–-scan或-s:扫描配置文件或/proc/mdstat文件来搜索软RAID的配置信息,该参数不能单独使用,只能配置其它参数才
能使用。
–stop:停止raid
- 下面将通过一个实例来讲述通过mdadm如何实现软RAID的功能。
- 实现软RAID5
环境:某台机器上有4块空闲的硬盘,分别是/dev/sdb、/dev/sdc、/dev/sdd和/dev/sde,并用这四块硬盘来创建来创建一个RAID 5。
1.创建分区
[root@nebulalinux ~]# fdisk /dev/sdc
命令(输入 m 获取帮助):n
Partition type:
p primary (0 primary, 0 extended, 4 free)
e extended
Select (default p):
Using default response p
分区号 (1-4,默认 1):
起始 扇区 (2048-41943039,默认为 2048):
将使用默认值 2048
Last 扇区, +扇区 or +size{K,M,G} (2048-41943039,默认为 41943039):
将使用默认值 41943039
分区 1 已设置为 Linux 类型,大小设为 20 GiB
命令(输入 m 获取帮助):w
The partition table has been altered!
Calling ioctl() to re-read partition table.
正在同步磁盘。
剩余几块硬盘也如法炮制。
2.创建RAID 5
创建好四个分区以后,就可以来创建RAID 5。其中设定/dev/sde1作为备用设备,其余为活动设备,备用设备的作用是一旦某一设备损坏可以立即使用备用设备替换。操作命令如下:
[root@nebulalinux ~]# mdadm --create /dev/md0 --level=5 --raid-devices=3 --spare-devices=1 /dev/sd[b-e]1
mdadm: Defaulting to version 1.2 metadata
mdadm: array /dev/md0 started.
这里命令容易输错,请仔细!
[root@nebulalinux ~]# mdadm --detail /dev/md0
/dev/md0:
Version : 1.2
Creation Time : Tue Mar 31 12:55:15 2020
Raid Level : raid5
Array Size : 41906176 (39.96 GiB 42.91 GB)
Used Dev Size : 20953088 (19.98 GiB 21.46 GB)
Raid Devices : 3
Total Devices : 4
Persistence : Superblock is persistent
Update Time : Tue Mar 31 12:55:54 2020
State : clean
Active Devices : 3
Working Devices : 4
Failed Devices : 0
Spare Devices : 1
Layout : left-symmetric
Chunk Size : 512K
Consistency Policy : resync
Name : nebulalinux.com:0 (local to host nebulalinux.com)
UUID : f2b3e85b:0904bf13:80e72db6:3647b266
Events : 18
Number Major Minor RaidDevice State
0 8 17 0 active sync /dev/sdb1
1 8 33 1 active sync /dev/sdc1
4 8 49 2 active sync /dev/sdd1
3 8 65 - spare /dev/sde1
3.创建RAID的配置文件
vi /etc/mdadm.con
添加以下代码:
DEVICE /dev/sdb1 /dev/sdc1 /dev/sdd1 /dev/sde1
ARRAY /dev/md0 level=raid5 num-devices=3 UUID=f2b3e85b:0904bf13:80e72db6:3647b266
手动加载RAID的命令为:
mdadm –-assemble /dev/md0 /dev/sdb1 /dev/sdc1 /dev/sdd1 /dev/sde1
4.创建文件系统
# mkfs.ext4 /dev/md0
创建完文件系统后,将该设备挂载上就可正常的使用了。如果要创建其它级别的RAID,其步骤和创建RAID 5基本都一样,区别在于指定“–level”值的时候,需要将该值设置为相应的级别。
二.创建LVM
1.新建磁盘(可以是普通磁盘也可以是raid磁盘)
2.创建pv
# yum install lvm2 -y
# pvcreate /dev/sdb1 /dev/sdb2
Physical volume "/dev/sdb1" successfully created
Physical volume "/dev/sdb2" successfully created
3.创建vg
# vgcreate myvg /dev/sdb1 /dev/sdb2
Volume group "myvg" successfully created
4.创建lv
# lvcreate -L 10 -n mylv1 myvg #使用PE数量设置大小
Logical volume "mylv1" created.
lvcreate -L 100M -n mylv2 myvg #直接指定大小
5.创建文件系统并挂载
# mkfs.ext4 /dev/myvg/mylv1
mke2fs 1.41.12 (17-May-2010)
文件系统标签=
操作系统:Linux
块大小=1024 (log=0)
分块大小=1024 (log=0)
Stride=0 blocks, Stripe width=0 blocks
10240 inodes, 40960 blocks
2048 blocks (5.00%) reserved for the super user
第一个数据块=1
Maximum filesystem blocks=41943040
5 block groups
8192 blocks per group, 8192 fragments per group
2048 inodes per group
Superblock backups stored on blocks:
8193, 24577
正在写入inode表: 完成
Creating journal (4096 blocks): 完成
Writing superblocks and filesystem accounting information: 完成
This filesystem will be automatically checked every 32 mounts or
180 days, whichever comes first. Use tune2fs -c or -i to override.
# mkfs.ext4 /dev/myvg/mylv2
# mount /dev/myvg/mylv1 /mnt/mylv1/
VG管理
1.扩大vg
# pvcreate /dev/sdb5
Physical volume "/dev/sdb5" successfully created
vgextend myvg /dev/sdb5
Volume group "myvg" successfully extended
LV扩容
LVM扩展 有足够的VG就可以来扩展lv
# lvextend -L +300M /dev/myvg/mylv
mylv1 mylv2
# lvextend -L +300M /dev/myvg/mylv1
# df -h | grep mylv1
/dev/mapper/myvg-mylv1
35M 34M 0 100% /mnt/mylv1
#虽然lv扩容了,但是挂载磁盘大小依然是40M,我们需要给新增的lv创建文件系统,这样系统才能识别
# resize2fs /dev/myvg/mylv1
挂载使用:
# mount /dev/myvg/mylv1 /mnt/mylv1/