700字范文,内容丰富有趣,生活中的好帮手!
700字范文 > 《linux就该这么学——笔记》第7章 使用RAID与LVM磁盘阵列技术

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

时间:2022-03-30 13:04:41

相关推荐

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

使用RAID与LVM磁盘阵列技术

7.1 RAID(独立冗余磁盘阵列)7.1.1 RAID07.1.2 RAID17.1.3 RAID57.1.4 RAID1 07.1.5 部署磁盘阵列(实验)7.1.6 配置RAID1 07.1.6 磁盘阵列及修复7.1.7 磁盘阵列+备份盘(热备盘)7.2 LVM 逻辑卷管理7.2.1 部署逻辑卷7.2.2 扩容逻辑卷lvextend7.2.3 缩小逻辑卷7.2.4 快照7.2.5 删除逻辑卷

生产环境需求:

硬盘设备的读写速度

数据的安全性

动态调整存储资源

7.1 RAID(独立冗余磁盘阵列)

功能实现的原则

1、利用分散读写技术来提升磁盘阵列整体的性能

2、多个重要数据的副本同步到不同的物理硬盘设备上

3、常见的有四种RAID0、RAID1、RAID5、RAID10

7.1.1 RAID0

缺点:一块硬盘坏,整个系统数据破坏

优点:有效的提升了硬盘数据吞吐速度,可用率100%

7.1.2 RAID1

优点:安全性高了,有一个完全的备份

缺点:速度上没有提升,镜像写入。可用率50%

7.1.3 RAID5

把硬盘设备的数据奇偶校验信息保存到其他硬盘中。

在成本、速度、安全三个方面寻求一种妥协平衡。

7.1.4 RAID1 0

就是RAID1与RAID0的一种结合体。

先两两制作成RAID1,保证了数据安全。

再把两个RAID1,组成RAID0阵列,提高了数据的读取速度。

企业中使用最广泛的一种存储技术

允许损失50%的硬盘,但RAID1里的两块同时损坏就会出现数据丢失情况。

7.1.5 部署磁盘阵列(实验)

注意为了保证实验的正确性,每次做完就用快照恢复到原始状态。

为了数据更安装,还可以加装热备盘,热备盆的多少取决于老板的钱包。

** mdadm 管理Linux系统中的软件RAID磁盘阵列**

mdadm [模式] <RAID设备名称> [选项] [成员设备名称]

7.1.6 配置RAID1 0

-v:显示过程

-C:创建一个RAID阵列盘

-n 4:使用4块硬盘部署

-l 10:RAID10

sd[b-e]:四块硬盘设备的名称

/dev/md0:udev管理器的命名规则

mdadm -Cv /dev/md0 -n 4 -l 10 /dev/sd[b-e] #mdadm -D /dev/mdo #查看创建结果/dev/md0:Version : 1.2Creation Time : Fri Jan 31 21:54:38 Raid Level : raid10Array Size : 41909248 (39.97 GiB 42.92 GB)Used Dev Size : 20954624 (19.98 GiB 21.46 GB)mkfs.xfs /dev/md0 #格式化成xfs文件系统[root@linuxprobe Desktop]# mkdir /xiaoma #创建一个用来过载磁盘阵列的目录[root@linuxprobe Desktop]# mount /dev/md0 /xiaoma #挂载[root@linuxprobe Desktop]# df -h #查看挂载结果Filesystem Size Used Avail Use% Mounted on/dev/md040G 33M 40G 1% /xiaoma[root@linuxprobe Desktop]# vim /etc/fstab #将挂载信息写入配置文件/dev/md0 /xiaoma xfs defaults 0 0reboot #写入配置文件后,永久生效。

7.1.6 磁盘阵列及修复

1、移除损坏的硬盘

mdadm /dev/md0 -f /dev/sdb

2、替换成新盘后

umount /xiaoma

mdadm /dev/md0 -a /dev/sdb #追加sdb到md0磁盘阵列

7.1.7 磁盘阵列+备份盘(热备盘)

以RAID5为试验环境

1、在实验环境中加装4个新硬盘

2、配置RAID 5,三个阵列使用,一个做为热备盘

[root@linuxprobe Desktop]# mdadm -Cv /dev/md0 -a yes -n 3 -l 5 -x 1 /dev/sd[b-e]#-l 5 配置RAID5; -n 3三个盘制作;-x 1一个热备盘

3、查看RAID磁盘阵列信息

[root@linuxprobe Desktop]# mdadm -D /dev/md0省略。。。。。。。Name : :0 (local to host )UUID : b12add78:6fb124b2:a01e1ebc:67b9530dEvents : 18Number Major Minor RaidDevice State0 8 16 0active sync /dev/sdb1 8 32 1active sync /dev/sdc4 8 48 2active sync /dev/sdd3 8 64 -spare /dev/sde

4、格式化RAID,建立目录进行挂载

mkfs.extr /dev/md0mkdir hohomount /dev/md0 /hoho

5、人为拨掉一块硬盘,系统立即弹出报警画面,热备盘立即进入替补。所以并不影响正式使用。

7.2 LVM 逻辑卷管理

创建初衷是为了解决硬盘设备在创建分区后不易修改分区大小的缺陷。

LVM可以允许用户对硬盘资源进行动态调整

PV(physical Volume):物理卷

VG(Volume Group):卷组

LV(logical Volum):逻辑卷

PE(physical Extend):

PV让新磁盘支持LVM技术。

VG将多个物理PV卷组成一个大硬盘

LV以PE为单位对大硬盘进行分割

7.2.1 部署逻辑卷

常用的LVM部署命令

试验:

次序进行:技术支持pvcreate>>>创建卷组vgcreate>>>创建逻辑卷lvcreate>>>挂载逻辑卷并修改配置文件

#pvcreat让两个新硬盘支持LVM技术[root@linuxprobe Desktop]# pvcreate /dev/sdbPhysical volume "/dev/sdb" successfully created[root@linuxprobe Desktop]# pvcreate /dev/sdcPhysical volume "/dev/sdc" successfully created#vgcreat创建一个名称为【guo】的卷组[root@linuxprobe Desktop]# vgcreate guo /dev/sd[b-c]Volume group "guo" successfully created#lvcreat创建一个名称为【haha】,以100PE块为大小的逻辑卷[root@linuxprobe Desktop]# lvcreate -n haha -l 100 guoLogical volume "haha" created[root@linuxprobe Desktop]# vgdisplay--- Volume group ---VG NameguoSystem ID Formatlvm2Metadata Areas 2Metadata Sequence No 2VG Access read/writeVG Status resizable略-------Alloc PE / Size 100 / 400.00 MiBFree PE / Size 2458 / 9.60 GiBVG UUID9JNeFN-fkO6-QPss-jzNL-021s-Rtl9-8mlB0s #格式化分区[root@linuxprobe Desktop]# mkfs.ext4 /dev/guo/hahamke2fs 1.42.9 (28-Dec-)Filesystem label=OS type: Linux-------略------Writing superblocks and filesystem accounting information: done #新建文件夹【lvma】,并做为挂载点,将逻辑卷【haha】挂载上[root@linuxprobe Desktop]# mkdir lvma[root@linuxprobe Desktop]# mount /dev/guo/haha ./lvma#修改fstab配置,实现永久有效[root@linuxprobe Desktop]# vim /etc/fstab#挂载[root@linuxprobe Desktop]# mount -a#df -h查看磁盘情况[root@linuxprobe Desktop]# df -hFilesystem Size Used Avail Use% Mounted on/dev/mapper/rhel-root 18G 2.9G 15G 17% /devtmpfs985M0 985M 0% /devtmpfs 994M 140K 994M 1% /dev/shmtmpfs 994M 8.9M 986M 1% /runtmpfs 994M0 994M 0% /sys/fs/cgroup/dev/sda1 497M 115M 382M 24% /boot/dev/sr03.5G 3.5G0 100% /run/media/root/RHEL-7.0 Server.x86_64/dev/mapper/guo-haha 380M 2.3M 354M 1% /root/Desktop/lvma[root@linuxprobe Desktop]#

7.2.2 扩容逻辑卷lvextend

#第一步:卸载已挂载的逻辑卷 haha#卸载逻辑卷【haha】[root@linuxprobe ~]# umount ./Desktop/lvma#将逻辑卷【haha】增大到800M[root@linuxprobe ~]# lvextend -L 800M /dev/guo/hahaExtending logical volume haha to 800.00 MiBLogical volume haha successfully resized#检查硬盘完整性[root@linuxprobe ~]# e2fsck -f /dev/guo/hahae2fsck 1.42.9 (28-Dec-)Pass 1: Checking inodes, blocks, and sizesPass 2: Checking directory structurePass 3: Checking directory connectivityPass 4: Checking reference countsPass 5: Checking group summary information/dev/guo/haha: 11/102400 files (0.0% non-contiguous), 23456/409600 blocks#重置硬盘容量——通知给内核[root@linuxprobe ~]# resize2fs /dev/guo/haharesize2fs 1.42.9 (28-Dec-)Resizing the filesystem on /dev/guo/haha to 819200 (1k) blocks.The filesystem on /dev/guo/haha is now 819200 blocks long.#重新挂载,并查看硬盘信息[root@linuxprobe ~]# mount -a[root@linuxprobe ~]# df -hFilesystem Size Used Avail Use% Mounted on/dev/mapper/rhel-root 18G 2.9G 15G 17% /devtmpfs985M0 985M 0% /devtmpfs 994M 140K 994M 1% /dev/shmtmpfs 994M 8.9M 986M 1% /runtmpfs 994M0 994M 0% /sys/fs/cgroup/dev/sda1 497M 115M 382M 24% /boot/dev/sr03.5G 3.5G0 100% /run/media/root/RHEL-7.0 Server.x86_64#容量已经上升到800M左右,略有偏差是正常的。/dev/mapper/guo-haha ==767M== 2.5M 721M 1% /root/Desktop/lvma[root@linuxprobe ~]#

7.2.3 缩小逻辑卷

缩小后容量绝对不能低于原磁盘内已存储文件的容量。

#卸载先[root@linuxprobe ~]# umount ./Desktop/lvma#检查文件完整性[root@linuxprobe ~]# e2fsck -f /dev/guo/hahae2fsck 1.42.9 (28-Dec-)Pass 1: Checking inodes, blocks, and sizesPass 2: Checking directory structurePass 3: Checking directory connectivityPass 4: Checking reference countsPass 5: Checking group summary information/dev/guo/haha: 11/204800 files (0.0% non-contiguous), 36617/819200 blocks#向系统声明,我要减肥了!!![root@linuxprobe ~]# resize2fs /dev/guo/haha 300Mresize2fs 1.42.9 (28-Dec-)Resizing the filesystem on /dev/guo/haha to 307200 (1k) blocks.The filesystem on /dev/guo/haha is now 307200 blocks long.#缩小到400K的容量,提示不能低于4.00M[root@linuxprobe ~]# lvreduce -L 400K /dev/guo/hahaRounding size to boundary between physical extents: 4.00 MiBWARNING: Reducing active logical volume to 4.00 MiBTHIS MAY DESTROY YOUR DATA (filesystem etc.)Do you really want to reduce haha? [y/n]: nLogical volume haha NOT reduced#那就缩小到300M吧[root@linuxprobe ~]# lvreduce -L 300M /dev/guo/hahaWARNING: Reducing active logical volume to 300.00 MiBTHIS MAY DESTROY YOUR DATA (filesystem etc.)#系统再次提示,y确认Do you really want to reduce haha? [y/n]: yReducing logical volume haha to 300.00 MiBLogical volume haha successfully resized#挂载,查看[root@linuxprobe ~]# mount -a[root@linuxprobe ~]# df -h/dev/mapper/guo-haha == 283M== 2.1M 262M 1% /root/Desktop/lvma[root@linuxprobe ~]#

7.2.4 快照

1、快照卷的容量必须等同于逻辑卷的容量

2、快照卷一次有效,一旦执行还原操作则立即被自动清除

试验:

#创建一个容量为100M的逻辑卷【xiaoguo】[root@linuxprobe ~]# lvcreate -n haha -L 100M xiaoguoLogical volume "haha" created#格式化分区[root@linuxprobe ~]# mkfs.ext4 /dev/xiaoguo/haha#创建目录,并挂载该逻辑卷[root@linuxprobe ~]# mkdir llll[root@linuxprobe ~]# mount /dev/xiaoguo/haha ./llll#在llll目录中随便写上点儿啥。[root@linuxprobe llll]# cp -rf /etc/* ./[root@linuxprobe llll]# lsabrt hosts protocolsadjtime hosts.allowpulsealiases hosts.denypurplealiases.dbhp qemu-gaalsa idmapd.confqemu-kvmalternatives init.dradvd.conf#做个快照SNAP,容量【50M】,这里的容量不能小于被拍照的逻辑卷已经写入的容量。[root@linuxprobe llll]# lvcreate -s -n SNAP -L 100M /dev/xiaoguo/hahaRounding up size to full physical extent 100.00 MiBLogical volume "SNAP" created#把llll目录中的文件全部删除,并写入88M的零。[root@linuxprobe llll]# rm -rf *#查看,是空目录了。[root@linuxprobe llll]# ls -altotal 12drwxr-xr-x. 2 root root 7168 Feb 3 17:27 .dr-xr-x---. 15 root root 4096 Feb 3 17:18 ..#写个88M的零[root@linuxprobe llll]# dd if=/dev/zero of=aaaa count=22 bs=4M22+0 records in22+0 records out92274688 bytes (92 MB) copied, 0.404464 s, 228 MB/s#用ls看看,整个目录只有一个文件了。[root@linuxprobe llll]# ls -a. .. aaaa#建证奇迹的时候到了。用快照恢复整个目录。#先卸载[root@linuxprobe ~]# umount ./llll#恢复快照,无需指定目标逻辑卷[root@linuxprobe ~]# lvconvert --merge /dev/xiaoguo/SNAPMerging of volume SNAP started.haha: Merged: 100.0%Merge of snapshot into logical volume haha has finished.Logical volume "SNAP" successfully removed#挂载,查看,所有文件都回来了。[root@linuxprobe ~]# mount /dev/xiaoguo/haha ./llll[root@linuxprobe ~]# ls ./llllabrt ethertypes jvm-commmonpam.d servicesadjtime exportskdump.confpasswd sestatus.confaliases exports.d kernelpasswd- setroubleshootaliases.dbfavicon.png krb5.conf pbm2ppa.confsetuptool.dalsa fcoe ksmtuned.conf pinforc sgmlalternatives festivalld.so.cachepkcs11 shadowanacrontabfilesystems ld.so.confpkishadow-asound.conf firewalld ld.so.conf.d plymouthshellsat.deny fonts libaudit.conf pmskelat-spi2 fprintd.conf libibverbs.d pnm2ppa.confsmartmontoolsaudisp fstab libnl polkit-1sos.confauditfuse.conf libreport popt.d soundavahigconf libuser.conf postfix speech-dispatcherbash_completion.d gcrypt libvirt pppsshbashrc gdbinitlocale.confprelink.conf.d sslbinfmt.d gdbinit.d localtime printcapstatetabbluetoothgdmlogin.defsprofile statetab.dbonobo-activation ghostscript logrotate.conf profile.d sudo.confbrltty gnome-settings-daemon logrotate.dprotocols sudoersbrltty.conf gnome-vfs-2.0lost+foundpulse sudoers.dchkconfig.d gnupg lvm purple sudo-ldap.confchrony.conf GREP_COLORS machine-idqemu-ga sysconfigchrony.keys groff magic qemu-kvmsysctl.confcolord.conf group mail.rc radvd.conf sysctl.dcron.d group- makedumpfile.conf.sample rc0.d systemdcron.dailygrub2.cfg man_db.confrc1.d system-releasecron.denygrub.d maven rc2.d system-release-cpecron.hourly gshadowmke2fs.confrc3.d terminfocron.monthly gshadow-modprobe.drc4.d tmpfiles.dcrontab gssmodules-load.d rc5.d trusted-key.keycron.weekly gtk-2.0motd rc6.d tunedcrypttab gtk-3.0mtab rc.d udevcsh.cshrchba.confmtools.confrc.localudisks2csh.loginhost.conf multipath redhat-release unbound

7.2.5 删除逻辑卷

依次进行:卸载逻辑卷>>>删除逻辑卷>>>卷组>>>物理卷设备

umount>>>lvremove>>>vgremove>>>pvremove

#卸载逻辑卷[root@linuxprobe ~]# umount /root/Desktop/lvma#去除fstab配置文件里永久挂载参数[root@linuxprobe ~]# vim /etc/fstab#移除lv逻辑卷haha[root@linuxprobe ~]# lvremove /dev/guo/hahaDo you really want to remove active logical volume haha? [y/n]: yLogical volume "haha" successfully removed#移除卷组guo[root@linuxprobe ~]# vgremove guoVolume group "guo" successfully removed#移除磁盘对LVM的支持[root@linuxprobe ~]# pvremove /dev/sd[b-c]Labels on physical volume "/dev/sdb" successfully wipedLabels on physical volume "/dev/sdc" successfully wiped#查看移除后结果,pvdisplay vgdisplay lvdisplay

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。