《linux就该这么学——笔记》第7章 使用RAID与LVM磁盘阵列技术
使用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磁盘阵列技术相关推荐
- Linux应该这么学第7章使用 RAID 与 LVM 磁盘阵列技术
本章讲解了如下内容: ➢ RAID(独立冗余磁盘阵列): ➢ LVM(逻辑卷管理器). 在学习了第 6 章讲解的硬盘设备分区.格式化.挂载等知识后,本章将深入讲解各个常 用 RAID(Redundan ...
- linux学习第七章使用RAID和LVM磁盘阵列技术
一.RAID磁盘冗余阵列 1988年,加利福尼亚大学伯克利分校首次提出并定义了RAID技术的概念.RAID技术通过把多个硬盘设备组合成一个容量更大.安全性更好的磁盘阵列,并把数据切割成多个区段后分别存 ...
- linux 7.1加载raid,linux学习第七章使用RAID和LVM磁盘阵列技术
一.RAID磁盘冗余阵列 1988年,加利福尼亚大学伯克利分校首次提出并定义了RAID技术的概念.RAID技术通过把多个硬盘设备组合成一个容量更大.安全性更好的磁盘阵列,并把数据切割成多个区段后分别存 ...
- linux的逻辑卷和磁盘阵列,使用RAID与LVM磁盘阵列技术
#### RAID 0 RAID0技术把多块物料硬盘设备(至少两块)通过硬件或软件的方式串联在一起,组成一个大的卷组,并将数据依次写入到各个物理硬盘中. 这样硬盘的读写性能会提升数倍,但若任意一块硬盘 ...
- Linux就该这么学 20181008(第十三章BIND)
参考链接https://www.linuxprobe.com Bind提供域名解析服务 DNS Domin Name Server 域名解析服务 功能模式 1.正向解析,将域名解析为IP地址 2.反向 ...
- 《Linux就该这么学》 第6章 存储结构与磁盘划分
6.1 一切从"/"开始Linux系统中的一切文件都是从"根(/)"目录开始的,并按照文件系统层次化标准(FHS)采用树形结构来存放文件,以及定义了常见目录的用 ...
- [云炬创业学笔记]第三章商业创意的发掘与评估测试5
- [云炬创业学笔记]第三章商业创意的发掘与评估测试4
- [云炬创业学笔记]第三章商业创意的发掘与评估测试3
最新文章
- c语言中求一个数的因数,【代码】求一个数的因数和、求优化、顺便也供新人参考算法...
- sql 根据多个ID删除表中多行数据
- java多客户端请求响应_Java实现服务器端对多个客户端请求响应
- 苹果AR/VR头显将通过Memojis和SharePlay支持FaceTime
- 设计牛人——设计入门答疑番外篇有感
- 常见视频编码比较大全 常见视频解码技术资料1
- 无法完成验证,可能QQ文件已损坏,您需要重新安装QQ
- C51系列单片最小机原理图及L298N接线图
- python避障小车_基于树莓派的超声波避障小车
- 勤于奋:国外LEAD跟联盟经理沟通聊天软件,Skype注册教程
- 学习笔记(二十一)—— 使用SMTP发送电子邮件
- 设置图片的透明度从左到右渐变
- “企鹅号+时尚集团MCN”强强联手 打造19春夏时装周报道新模式
- 微信支付消费者投诉消息推送接入企业微信群
- c语言实现简单的猜数字游戏(1~100)
- postman的使用
- python词频统计之红楼梦_用 Python 分析《红楼梦》,后四十回是曹雪芹所写
- 进制转换--《十六进制》
- typescript之typings(*.d.ts类型声明)
- 官方批复:同意博士研究生再翻倍扩招!
热门文章
- 4.10 第十三章:Linux系统管理技巧
- IEEE Fellow杨铮:打破「视觉」垄断,无线信号为 AI 开启「新感官」
- 红外弱小目标检测之“Asymmetric Contextual Modulation for Infrared Small Target Detection“阅读笔记
- 在layui中如何选中多条数据重载到表格里
- Django-查到晕
- 前端使用print.js实现打印
- jquery+css3实现视屏播放
- 优秀UI设计师需要具备的几个自我修养
- 踩雷高德API省市区乡镇街道地址保存报错
- Jira安装及配置----最详细的教程(测试木头人)