使用RAID与LVM磁盘阵列技术

  • 7.1 RAID(独立冗余磁盘阵列)
    • 7.1.1 RAID0
    • 7.1.2 RAID1
    • 7.1.3 RAID5
    • 7.1.4 RAID1 0
    • 7.1.5 部署磁盘阵列(实验)
    • 7.1.6 配置RAID1 0
    • 7.1.6 磁盘阵列及修复
    • 7.1.7 磁盘阵列+备份盘(热备盘)
  • 7.2 LVM 逻辑卷管理
    • 7.2.1 部署逻辑卷
    • 7.2.2 扩容逻辑卷lvextend
    • 7.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 2020Raid 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/md0                40G   33M   40G   1% /xiaoma
[root@linuxprobe Desktop]# vim /etc/fstab #将挂载信息写入配置文件
/dev/md0 /xiaoma xfs defaults 0 0
reboot #写入配置文件后,永久生效。

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 : linuxprobe.com:0  (local to host linuxprobe.com)UUID : b12add78:6fb124b2:a01e1ebc:67b9530dEvents : 18Number   Major   Minor   RaidDevice State0       8       16        0      active sync   /dev/sdb1       8       32        1      active sync   /dev/sdc4       8       48        2      active sync   /dev/sdd3       8       64        -      spare   /dev/sde

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

mkfs.extr  /dev/md0
mkdir hoho
mount /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部署命令

功能/命令 物理卷管理 卷组管理 逻辑卷管理
扫描scan pvscan vgscan lvscan
建立creat pvcreate vgcreat lvcreate
显示display pvdisplay vgdisplay lvdisplay
删除remove pvremove vgremove lvremove
扩展extend vgestend lvextend
缩小reduce vgreduce lvreduce

试验:
次序进行:技术支持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 Name               guoSystem ID             Format                lvm2Metadata Areas        2Metadata Sequence No  2VG Access             read/writeVG Status             resizable
略-------Alloc PE / Size       100 / 400.00 MiBFree  PE / Size       2458 / 9.60 GiBVG UUID               9JNeFN-fkO6-QPss-jzNL-021s-Rtl9-8mlB0s
#格式化分区
[root@linuxprobe Desktop]# mkfs.ext4 /dev/guo/haha
mke2fs 1.42.9 (28-Dec-2013)
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 -h
Filesystem             Size  Used Avail Use% Mounted on
/dev/mapper/rhel-root   18G  2.9G   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/sda1              497M  115M  382M  24% /boot
/dev/sr0               3.5G  3.5G     0 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/haha
e2fsck 1.42.9 (28-Dec-2013)
Pass 1: Checking inodes, blocks, and sizes
Pass 2: Checking directory structure
Pass 3: Checking directory connectivity
Pass 4: Checking reference counts
Pass 5: Checking group summary information
/dev/guo/haha: 11/102400 files (0.0% non-contiguous), 23456/409600 blocks
#重置硬盘容量——通知给内核
[root@linuxprobe ~]# resize2fs /dev/guo/haha
resize2fs 1.42.9 (28-Dec-2013)
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 -h
Filesystem             Size  Used Avail Use% Mounted on
/dev/mapper/rhel-root   18G  2.9G   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/sda1              497M  115M  382M  24% /boot
/dev/sr0               3.5G  3.5G     0 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/haha
e2fsck 1.42.9 (28-Dec-2013)
Pass 1: Checking inodes, blocks, and sizes
Pass 2: Checking directory structure
Pass 3: Checking directory connectivity
Pass 4: Checking reference counts
Pass 5: Checking group summary information
/dev/guo/haha: 11/204800 files (0.0% non-contiguous), 36617/819200 blocks
#向系统声明,我要减肥了!!!
[root@linuxprobe ~]# resize2fs /dev/guo/haha 300M
resize2fs 1.42.9 (28-Dec-2013)
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]# 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
#做个快照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 -al
total 12
drwxr-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=4M
22+0 records in
22+0 records out
92274688 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 ./llll
abrt                     ethertypes             jvm-commmon               pam.d             services
adjtime                  exports                kdump.conf                passwd            sestatus.conf
aliases                  exports.d              kernel                    passwd-           setroubleshoot
aliases.db               favicon.png            krb5.conf                 pbm2ppa.conf      setuptool.d
alsa                     fcoe                   ksmtuned.conf             pinforc           sgml
alternatives             festival               ld.so.cache               pkcs11            shadow
anacrontab               filesystems            ld.so.conf                pki               shadow-
asound.conf              firewalld              ld.so.conf.d              plymouth          shells
at.deny                  fonts                  libaudit.conf             pm                skel
at-spi2                  fprintd.conf           libibverbs.d              pnm2ppa.conf      smartmontools
audisp                   fstab                  libnl                     polkit-1          sos.conf
audit                    fuse.conf              libreport                 popt.d            sound
avahi                    gconf                  libuser.conf              postfix           speech-dispatcher
bash_completion.d        gcrypt                 libvirt                   ppp               ssh
bashrc                   gdbinit                locale.conf               prelink.conf.d    ssl
binfmt.d                 gdbinit.d              localtime                 printcap          statetab
bluetooth                gdm                    login.defs                profile           statetab.d
bonobo-activation        ghostscript            logrotate.conf            profile.d         sudo.conf
brltty                   gnome-settings-daemon  logrotate.d               protocols         sudoers
brltty.conf              gnome-vfs-2.0          lost+found                pulse             sudoers.d
chkconfig.d              gnupg                  lvm                       purple            sudo-ldap.conf
chrony.conf              GREP_COLORS            machine-id                qemu-ga           sysconfig
chrony.keys              groff                  magic                     qemu-kvm          sysctl.conf
colord.conf              group                  mail.rc                   radvd.conf        sysctl.d
cron.d                   group-                 makedumpfile.conf.sample  rc0.d             systemd
cron.daily               grub2.cfg              man_db.conf               rc1.d             system-release
cron.deny                grub.d                 maven                     rc2.d             system-release-cpe
cron.hourly              gshadow                mke2fs.conf               rc3.d             terminfo
cron.monthly             gshadow-               modprobe.d                rc4.d             tmpfiles.d
crontab                  gss                    modules-load.d            rc5.d             trusted-key.key
cron.weekly              gtk-2.0                motd                      rc6.d             tuned
crypttab                 gtk-3.0                mtab                      rc.d              udev
csh.cshrc                hba.conf               mtools.conf               rc.local          udisks2
csh.login                host.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/haha
Do 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

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

  1. Linux应该这么学第7章使用 RAID 与 LVM 磁盘阵列技术

    本章讲解了如下内容: ➢ RAID(独立冗余磁盘阵列): ➢ LVM(逻辑卷管理器). 在学习了第 6 章讲解的硬盘设备分区.格式化.挂载等知识后,本章将深入讲解各个常 用 RAID(Redundan ...

  2. linux学习第七章使用RAID和LVM磁盘阵列技术

    一.RAID磁盘冗余阵列 1988年,加利福尼亚大学伯克利分校首次提出并定义了RAID技术的概念.RAID技术通过把多个硬盘设备组合成一个容量更大.安全性更好的磁盘阵列,并把数据切割成多个区段后分别存 ...

  3. linux 7.1加载raid,linux学习第七章使用RAID和LVM磁盘阵列技术

    一.RAID磁盘冗余阵列 1988年,加利福尼亚大学伯克利分校首次提出并定义了RAID技术的概念.RAID技术通过把多个硬盘设备组合成一个容量更大.安全性更好的磁盘阵列,并把数据切割成多个区段后分别存 ...

  4. linux的逻辑卷和磁盘阵列,使用RAID与LVM磁盘阵列技术

    #### RAID 0 RAID0技术把多块物料硬盘设备(至少两块)通过硬件或软件的方式串联在一起,组成一个大的卷组,并将数据依次写入到各个物理硬盘中. 这样硬盘的读写性能会提升数倍,但若任意一块硬盘 ...

  5. Linux就该这么学 20181008(第十三章BIND)

    参考链接https://www.linuxprobe.com Bind提供域名解析服务 DNS Domin Name Server 域名解析服务 功能模式 1.正向解析,将域名解析为IP地址 2.反向 ...

  6. 《Linux就该这么学》 第6章 存储结构与磁盘划分

    6.1 一切从"/"开始Linux系统中的一切文件都是从"根(/)"目录开始的,并按照文件系统层次化标准(FHS)采用树形结构来存放文件,以及定义了常见目录的用 ...

  7. [云炬创业学笔记]第三章商业创意的发掘与评估测试5

  8. [云炬创业学笔记]第三章商业创意的发掘与评估测试4

  9. [云炬创业学笔记]第三章商业创意的发掘与评估测试3

最新文章

  1. c语言中求一个数的因数,【代码】求一个数的因数和、求优化、顺便也供新人参考算法...
  2. sql 根据多个ID删除表中多行数据
  3. java多客户端请求响应_Java实现服务器端对多个客户端请求响应
  4. 苹果AR/VR头显将通过Memojis和SharePlay支持FaceTime
  5. 设计牛人——设计入门答疑番外篇有感
  6. 常见视频编码比较大全 常见视频解码技术资料1
  7. 无法完成验证,可能QQ文件已损坏,您需要重新安装QQ
  8. C51系列单片最小机原理图及L298N接线图
  9. python避障小车_基于树莓派的超声波避障小车
  10. 勤于奋:国外LEAD跟联盟经理沟通聊天软件,Skype注册教程
  11. 学习笔记(二十一)—— 使用SMTP发送电子邮件
  12. 设置图片的透明度从左到右渐变
  13. “企鹅号+时尚集团MCN”强强联手 打造19春夏时装周报道新模式
  14. 微信支付消费者投诉消息推送接入企业微信群
  15. c语言实现简单的猜数字游戏(1~100)
  16. postman的使用
  17. python词频统计之红楼梦_用 Python 分析《红楼梦》,后四十回是曹雪芹所写
  18. 进制转换--《十六进制》
  19. typescript之typings(*.d.ts类型声明)
  20. 官方批复:同意博士研究生再翻倍扩招!

热门文章

  1. 4.10 第十三章:Linux系统管理技巧
  2. IEEE Fellow杨铮:打破「视觉」垄断,无线信号为 AI 开启「新感官」
  3. 红外弱小目标检测之“Asymmetric Contextual Modulation for Infrared Small Target Detection“阅读笔记
  4. 在layui中如何选中多条数据重载到表格里
  5. Django-查到晕
  6. 前端使用print.js实现打印
  7. jquery+css3实现视屏播放
  8. 优秀UI设计师需要具备的几个自我修养
  9. 踩雷高德API省市区乡镇街道地址保存报错
  10. Jira安装及配置----最详细的教程(测试木头人)