《Linux就该这么学》 第7章 使用RAID与LVM磁盘阵列技术

《Linux就该这么学》   第7章  使用RAID与LVM磁盘阵列技术
《Linux就该这么学》   第7章  使用RAID与LVM磁盘阵列技术
《Linux就该这么学》   第7章  使用RAID与LVM磁盘阵列技术
《Linux就该这么学》   第7章  使用RAID与LVM磁盘阵列技术
《Linux就该这么学》   第7章  使用RAID与LVM磁盘阵列技术
《Linux就该这么学》   第7章  使用RAID与LVM磁盘阵列技术

第7章 使用RAID与LVM磁盘阵列技术

7.1 RAID
IO 吞吐量
读写速度,数据安全。
1、RAID0
RAID0:两块盘,加快硬盘的写入速度。但不具有数据备份和错误恢复。
速度有提升
成本不变
安全性会有下降

2、RAID1
RAID1:两块盘,
速度没有提升,保持一致
成本提升一倍,变成两倍
安全性提升

3、RAID5
RAID5:至少3块盘,
兼顾读写速度、数据安全性、存储成本。

4、RAID10
RAID10是RAID1+RAID0的组合。

7.1.1 部署磁盘阵列
1、关机虚拟机,为虚拟机添加4块硬盘。做RAID使用。
mdadm命令的常用参数和作用

参数
作用
-a
检测设备名称
-n
指定设备数量
-l
指定RAID级别
-C
创建
-v
显示过程
-f
模拟设备损坏
-r
移除设备
-Q
查看摘要信息
-D
查看详细信息
-S
停止RAID磁盘阵列

1、使用mdadm命令创建RAID 10,名称为“/dev/md0
udev是Linux系统内核中用来给硬件命名的服务,其命名规则也非常简单
[root@localhost 桌面]# ls -l /dev/sd*
brw-rw----. 1 root disk 8, 0 5月 29 06:08 /dev/sda
brw-rw----. 1 root disk 8, 1 5月 29 06:08 /dev/sda1
brw-rw----. 1 root disk 8, 2 5月 29 06:08 /dev/sda2
brw-rw----. 1 root disk 8, 16 5月 29 06:08 /dev/sdb
brw-rw----. 1 root disk 8, 17 5月 29 06:08 /dev/sdb1
brw-rw----. 1 root disk 8, 18 5月 29 06:08 /dev/sdb2
brw-rw----. 1 root disk 8, 21 5月 29 06:08 /dev/sdb5
brw-rw----. 1 root disk 8, 22 5月 29 06:08 /dev/sdb6
brw-rw----. 1 root disk 8, 32 5月 29 06:08 /dev/sdc
brw-rw----. 1 root disk 8, 48 5月 29 06:08 /dev/sdd
brw-rw----. 1 root disk 8, 64 5月 29 06:08 /dev/sde
brw-rw----. 1 root disk 8, 80 5月 29 06:08 /dev/sdf
[root@localhost 桌面]# mdadm -Cv /dev/md0 -a yes -n 4 -l 10 /dev/sdc /dev/sdd /dev/sde /dev/sdf
mdadm: layout defaults to n2
mdadm: layout defaults to n2
mdadm: chunk size defaults to 512K
mdadm: size set to 5238272K
mdadm: Defaulting to version 1.2 metadata
mdadm: array /dev/md0 started.
[root@localhost 桌面]# mdadm -Q /dev/md0
/dev/md0: 9.99GiB raid10 4 devices, 0 spares. Use mdadm --detail for more detail.
[root@localhost 桌面]# mdadm -D /dev/md0
/dev/md0:
Version : 1.2
Creation Time : Wed May 29 06:16:47 2019
Raid Level : raid10
Array Size : 10476544 (9.99 GiB 10.73 GB)
Used Dev Size : 5238272 (5.00 GiB 5.36 GB)
Raid Devices : 4
Total Devices : 4
Persistence : Superblock is persistent

Update Time : Wed May 29 06:17:44 2019
      State : clean

Active Devices : 4
Working Devices : 4
Failed Devices : 0
Spare Devices : 0

     Layout : near=2
 Chunk Size : 512K

       Name : 0
       UUID : 8add9b6a:837bc5e4:0d88734b:041e50e5
     Events : 17

Number   Major   Minor   RaidDevice State
   0       8       32        0      active sync   /dev/sdc
   1       8       48        1      active sync   /dev/sdd
   2       8       64        2      active sync   /dev/sde
   3       8       80        3      active sync   /dev/sdf

2、把制作好的RAID磁盘阵列格式化为ext4格式。
[root@localhost 桌面]# mkfs.ext4 /dev/md0
mke2fs 1.42.9 (28-Dec-2013)
文件系统标签=
OS type: Linux
块大小=4096 (log=2)
分块大小=4096 (log=2)
Stride=128 blocks, Stripe width=256 blocks
655360 inodes, 2619136 blocks
130956 blocks (5.00%) reserved for the super user
第一个数据块=0
Maximum filesystem blocks=2151677952
80 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

Allocating group tables: 完成
正在写入inode表: 完成
Creating journal (32768 blocks): 完成
Writing superblocks and filesystem accounting information: 完成

3、 创建挂载点然后把硬盘设备进行挂载操作。挂载成功后可看到可用空间为40GB。
[root@localhost 桌面]# mkdir /raid10
[root@localhost 桌面]# mount /dev/md0 /raid10
[root@localhost 桌面]# df -h
文件系统 容量 已用 可用 已用% 挂载点
/dev/mapper/rhel-root 18G 3.0G 15G 17% /
devtmpfs 985M 0 985M 0% /dev
tmpfs 994M 140K 994M 1% /dev/shm
tmpfs 994M 8.9M 986M 1% /run
tmpfs 994M 0 994M 0% /sys/fs/cgroup
/dev/sdb6 97M 5.2M 92M 6% /newFS
/dev/sdb1 976M 2.6M 907M 1% /guazai
/dev/sda1 497M 131M 367M 27% /boot
/dev/sr0 3.5G 3.5G 0 100% /run/media/root/RHEL-7.0 Server.x86_64
/dev/md0 9.8G 37M 9.2G 1% /raid10
[root@localhost 桌面]#echo "/dev/md0 /raid10 ext4 defaults 0 0" >> /etc/fstab
[root@localhost raid10]# cat fstab

#

/etc/fstab

Created by anaconda on Mon Apr 22 15:33:10 2019

#

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/rhel-root / xfs defaults 1 1
UUID=476aa953-9954-4170-bfc7-69ec6cedad75 /boot xfs defaults,uquota 1 2
/dev/mapper/rhel-swap swap swap defaults 0 0
/dev/sdb1 /guazai ext4 defaults 0 0
#/dev/sdb5 swap swap defaults 0 0
/dev/sdb6 /newFS xfs defaults 0 0
/dev/md0 /raid10 ext4 defaults 0 0

[root@localhost 桌面]# cd /raid10
[root@localhost raid10]# cp -rf /etc/* ./.
[root@localhost raid10]# ls
abrt hosts protocols
adjtime hosts.allow pulse
aliases hosts.deny purple
aliases.db hp qemu-ga
alsa idmapd.conf qemu-kvm
alternatives init.d radvd.conf
anacrontab inittab rc0.d
asound.conf inputrc rc1.d
at.deny iproute2 rc2.d
at-spi2 ipsec.conf rc3.d
audisp ipsec.d rc4.d
audit ipsec.secrets rc5.d
avahi iscsi rc6.d
bash_completion.d issue rc.d
bashrc issue.net rc.local
binfmt.d java redhat-release
bluetooth jvm request-key.conf
bonobo-activation jvm-commmon request-key.d
brltty kdump.conf resolv.conf
brltty.conf kernel rhsm
chkconfig.d krb5.conf rpc
chrony.conf ksmtuned.conf rpm
chrony.keys ld.so.cache rsyncd.conf
colord.conf ld.so.conf rsyslog.conf
cron.d ld.so.conf.d rsyslog.d
cron.daily libaudit.conf rwtab
cron.deny libibverbs.d rwtab.d
cron.hourly libnl samba
cron.monthly libreport sane.d
crontab libuser.conf sasl2
cron.weekly libvirt scl
crypttab locale.conf securetty
csh.cshrc localtime security
csh.login login.defs selinux
cups logrotate.conf services
cupshelpers logrotate.d sestatus.conf
dbus-1 lost+found setroubleshoot
dconf lvm setuptool.d
default machine-id sgml
depmod.d magic shadow
dhcp mail.rc shadow-
DIR_COLORS makedumpfile.conf.sample shells
DIR_COLORS.256color man_db.conf skel
DIR_COLORS.lightbgcolor maven smartmontools
dnsmasq.conf mke2fs.conf sos.conf
dnsmasq.d modprobe.d sound
dracut.conf modules-load.d speech-dispatcher
dracut.conf.d motd ssh
drirc mtab ssl
e2fsck.conf mtools.conf statetab
enscript.cfg multipath statetab.d
environment my.cnf sudo.conf
ethertypes my.cnf.d sudoers
exports nanorc sudoers.d
exports.d netconfig sudo-ldap.conf
favicon.png NetworkManager sysconfig
fcoe networks sysctl.conf
festival nfsmount.conf sysctl.d
filesystems nsswitch.conf systemd
firewalld nsswitch.conf.bak system-release
fonts ntp system-release-cpe
fprintd.conf numad.conf terminfo
fstab oddjob tmpfiles.d
fuse.conf oddjobd.conf trusted-key.key
gconf oddjobd.conf.d tuned
gcrypt openldap udev
gdbinit opt udisks2
gdbinit.d os-release unbound
gdm PackageKit updatedb.conf
ghostscript pam.d UPower
gnome-settings-daemon passwd usb_modeswitch.conf
gnome-vfs-2.0 passwd- usb_modeswitch.d
gnupg pbm2ppa.conf vconsole.conf
GREP_COLORS pinforc vimrc
groff pkcs11 virc
group pki vmware-tools
group- plymouth wgetrc
grub2.cfg pm wpa_supplicant
grub.d pnm2ppa.conf wvdial.conf
gshadow polkit-1 X11
gshadow- popt.d xdg
gss postfix xinetd.d
gtk-2.0 ppp xml
gtk-3.0 prelink.conf.d yum
hba.conf printcap yum.conf
host.conf profile yum.repos.d
hostname profile.d

7.2 LVM (逻辑卷管理器)
7.2.1 部署逻辑卷

部署LVM时,需要逐个配置物理卷、卷组和逻辑卷。
表7-2 常用的LVM部署命令
功能/命令
物理卷管理
卷组管理
逻辑卷管理
扫描
pvscan
vgscan
lvscan
建立
pvcreate
vgcreate
lvcreate
显示
pvdisplay
vgdisplay
lvdisplay
删除
pvremove
vgremove
lvremove
扩展

vgextend
lvextend
缩小

vgreduce
lvreduce

猜你喜欢

转载自blog.51cto.com/13615251/2409372