上篇博文给大家介绍了磁盘和文件系统的基础知识,也是最基本的使用.在实际生产环境中,对于磁盘的使用,要求稳定,灵活,那么下面给大家分享下磁盘的高级用法.磁盘配额,RAID,LVM等相关知识.
1.磁盘配额
2.磁盘RAID
3.LVM
一.磁盘配额
1.概述:
• 在内核中执行 • 以文件系统为单位启用 • 对不同组或者用户的策略不同 根据块或者节点进行限制 • 执行软限制( soft limit) • 硬限制( hard limit) Linux是多用户的操作系统,同一时间可能有多个用户登录到系统上进行相关操作,用户在操作的时候,可能会写入很多数据,占用大量磁盘空间,导致其他用户想写数据的时候,没有磁盘空间可用,如何限定某个用户对磁盘的使用空间大小,以及可使用的inode多少,也就是限定可创建多少个文件,这就是磁盘配额管理的作用。 磁盘配额管理的是针对一个独立的分区文件系统进行管理,不能跨分区,如果我们希望对某个目录进行磁盘配额管理,则需要将该目录单独挂载至某个独立的分区
2.初始化
• 分区挂载选项: usrquota、 grpquota 修改完/etc/fstab,必须重新挂载分区 • 初始化数据库: quotacheck quotacheck -cu|-cg|-cug /DIR 针对某个分区的挂载目录初始化quota数据库,可以针对用户创建、针对组创建、或者两个都创建,看第一步挂载选项启用的那些都创建那些 初始化数据块后,会在被执行磁盘配额的目录下生成相关的数据库文件,该文件无法通过vi等编辑器查看
3.执行
• 开启或者取消配额: quotaon、 quotaoff quotaon -p /DIR 查看某目录磁盘配额是否启用 • 直接编辑配额文件: edquota username 根据现有用户的配置来设置别的用户 edquota -p USER1 USER2 根据user1设置user2 • 在shell命令行中直接编辑: setquota usename 4096 5120 40 50 /foo • 定义原始标准用户 edquota -p user1 user2
4.报告数据配额
报告 • 用户调查: quota USERNAME 查看某用户配额信息 • 配额概述: repquota /DIR 查看挂载点的整体配额信息 • 其它工具: warnquota
5.操作:
1.备份/home文件
cp -r /home/* /tmp/home/
2.在/etc/fstab中指定挂载分区的挂载选项(usrquota,grpquota)
[fedora@w7 ~]$ cat /etc/fstab /dev/sdc1 /home ext4 usrquota,grpquota 0 0
3.挂载分区并移会home文件
mount -a df -h mv /tmp/home/* /home ll /home
4.创建配额数据库
setenforce 0 (centos6必须关闭SELINUX) quotacheck -cug /home(挂载分区) [root@w7 ~]# ll /home/ total 48 -rw------- 1 root root 7168 Aug 31 01:11 aquota.group -rw------- 1 root root 7168 Aug 31 01:11 aquota.user drwx------. 4 centos centos 4096 Jul 31 04:19 centos
5.启动数据库
quotaon -p /home/ 查看是否启用数据库 [root@w7 ~]# quotaon -p /home/ group quota on /home (/dev/sda4) is off user quota on /home (/dev/sda4) is off quotaon /home/ 启用数据库 [root@w7 ~]# quotaon /home/ [root@w7 ~]# quotaon -p /home/ group quota on /home (/dev/sda4) is on user quota on /home (/dev/sda4) is on
6.配置配额项
1.edquota fedora 数据库配额 Filesystem blocks soft hard inodes soft hard /dev/sda4 44(当前字节) 100(警告字节)100(最大字节) 11(当前文件数)2(警告文件数 0(最大文件数) 2. edquota -p fedora wen 复制数据库配额给其他用户 3.setquota fedora 100000 150000 0 0 /home/ 命令行配额 [root@w7 home]# setquota centos 10000 50000 2 3 /home
7.查看使用情况
repquota /home/ [root@w7 ~]# repquota /home/ *** Report for user quotas on device /dev/sda4 Block grace time: 7days; Inode grace time: 7days Block limits File limits User used soft hard grace used soft hard grace ---------------------------------------------------------------------- root -- 20 0 0 2 0 0 wen -+ 40 100 200 10 2 0 6days centos -- 44 0 0 11 0 0 fedora -+ 44 100 200 11 2 0 6days hodoop -- 16 0 0 4 0 0
8.测试
[root@w7 home]# su - centos [centos@w7 ~]$ dd if=/dev/zero of=./test1 bs=1 count=34000 34000+0 records in 34000+0 records out 34000 bytes (34 kB) copied, 0.0592565 s, 574 kB/s [centos@w7 ~]$ dd if=/dev/zero of=./test2 bs=1 count=34000 dd: failed to open ‘./test2’: Disk quota exceeded [centos@w7 ~]$ dd if=/dev/zero of=./test3 bs=1 count=34000 dd: failed to open ‘./test3’: Disk quota exceeded
二.磁盘RAID
1.概论:
RAID:(Redundant Arrays of (Inexpensive)Independent Disks) 廉价冗余磁盘阵列,独立冗余磁盘阵列 多个磁盘合成一个"阵列"来提供更高的性能,冗余,或者两种兼备 使用环境:在早先的生产环境中,磁盘的生产能力很差,IO能力弱.一块磁盘出现故障,整个设备就会停止工作. 出现地点:1988年由加利福尼亚大学伯克利分校( University ofCalifornia-Berkeley) “ A Case for Redundant Arrays of Inexpensive Disks”。 结合内核中的md(multi devices)模块实现 作用: 提高IO能力: 磁盘并行读写 提高耐用性: 磁盘冗余来实现 实现方式: 外接式磁盘阵列:通过扩展卡提供适配能力 创建操作系统后,手工命令创建RAID 内嵌式RAID:主板集成RAID控制器 安装操作系统前,提前规划,在硬件上创建RAID 级别:多块磁盘组织在一起的工作方式有所不同,级别仅代表磁盘的组织方式,不代表先进性 RAID-0: 条带卷,strip; RAID-1: 镜像卷,mirror; RAID-2: RAID-3: RAID-4: RAID-5: RAID-6: RAID-10: RAID-01: 注意:即使做RAID,也要做数据备份,raid,只是作用于磁盘损坏,而不导致业务中断的场景,不代表数据一定安全.
2.级别描述
单类型:
RAID-0:无差错控制的带区组
描述:把多块磁盘平行组织起来当成一块硬盘实现IO并行组织的磁盘组织结构
工作机制:数据流通过控制器,控制器把数据切割成多块chunk(跟文件系统的块不同),分散到不同的磁盘(chunk按顺序写入不同的磁盘)
优势:
读写性能提升(速度最快)
可用空间:N*min(s1,s2) 磁盘个数乘每个磁盘的最小空间
缺点:无容错能力,耐用性下降(如果一个磁盘(物理)损坏,则所有的数据都无法使用)
限制:最少磁盘数2个
适用场景:临时数据 (决不能当存储设备的阵列)
RAID-1: 描述:把数据同时分别完整存储到不同磁盘上,数据备份两份或多份 工作机制:数据流通过控制器,控制器把数据切割成多块chunk(跟文件系统的块不同),把每个数据块同时分别存储到不同的磁盘,互为备份. 优势: 读性能提升(可以交叉读),写性能略下降 双磁盘支持热替换,安全性最高 缺点:有容错能力,耐用性下降 数据同步,删除创建同步 可用空间:磁盘总容量的一半,使用率最低 限制:最少磁盘数:2个 适用场景:重要数据
RAID-4: 描述: 工作机制:将至少三块磁盘组成RAID,将第一块存储校验码,其他磁盘存储数据,把数据流分成块,数据块分别存储在数据磁盘,第一块校验码盘存放第二,第三块盘的通过异或运算得到的数据.当数据盘的数据损坏,可通过剩余的盘与校验码盘计算,得到损失的数据(在恢复过程中,又造成数据损坏,则数据不可逆,永远无法恢复) 异或运算(一组数据丢失,可通过跟校验位比对,得出丢失的数据,两组数组都丢失,过程不可逆,校验码丢失,没影响; 在恢复数据过程中,大量占用系统IO): 110(数据) 101 (数据) 011(校验码) 优势: 读性能提升(可以交叉读),写性能略下降 可用空间:(n-1)*min(s1,s2) 磁盘个数减一乘每个磁盘的最小空间 缺点: 有容错能力 校验盘读写压力大,成为性能瓶颈 限制:最少磁盘数:3个 适用场景:临时数据
RAID-5(中小企业使用最多):分布式奇偶校验的独立磁盘结构 描述:校验机制 工作机制:与RAID4集中校验机制相比,RAID5的区别为是轮流校验的机制.数据块交替存在每个磁盘,校验位交替存放在每个磁盘每,每个盘都是数据盘,每个盘都是校验盘,有spare硬盘,若有硬盘损坏,空闲硬盘自动工作 优势: 读写性能提升(读很高,写一般) 可用空间:(N-1)*min(s1,s2) 磁盘个数乘每个磁盘的最小空间 缺点: 有容错能力, 允许1块磁盘出错 有写损失,即每一次写操作,将产生四个实际的读/写操作,其中两次读旧的数据及奇偶信息,两次写新的数据及奇偶信息 限制:最少磁盘数:3个
RAID-6:带有两种分布存储的奇偶校验码的独立磁盘结构 描述:校验机制 工作机制:与RAID4集中校验机制相比,RAID5的区别为是轮流校验的机制.前两个数据块交替存储在数据盘,每第三,四块盘做校验盘,校验码存两遍, 优势: 数据绝不可能出错 可用空间:(N-2)*min(s1,s2) (磁盘个数-2)乘每个磁盘的最小空间 缺点: 有容错能力, 2块磁盘 写性能不好,造价高 限制:最少磁盘数:4个 适用场景:重要数据
RAID-7: 优化的高速数据传送磁盘结构 RAID7所有的I/O传送均是同步进行的,可以分别控制,这样提高了系统的并行性,提高系统访问数据的速度;每个磁盘都带有高速缓冲 存储器,实时操作系统可以使用任何实时操作芯片,达到不同实时系统的需要。允许使用SNMP协议进行管理和监视,可以对校验区指定独 立的传送信道以提高效率。可以连接多台主机,因为加入高速缓冲存储器,当多用户访问 系 统时,访问时间几乎接近于0。由于采用并行结 构,因此数据访问效率大大提高。需要注意的是它引入了一个高速缓冲存储器,这有利有弊,因为一旦系统断电,在高速缓冲存储器内的数 据就会全部丢失,因此需要和UPS一起工作。当然了,这么快的东西,价格也非常昂贵。
混合型:
RAID-10:(最合理)高可靠性与高效磁盘结构 描述:两两或更多先做RAID1镜像卷,再把多个镜像卷做RAID0 工作机制:先把数据流分别完整存储到两个镜像盘上,数据备份两份;再把RAID1的镜像卷,合并为RAID0 优势: 读写性能提升 可用空间:N*min(s1,s2)/2 容错性更强 缺点: 有容错能力, 每组镜像卷最多坏一块,一组镜像卷坏,整个raid破坏 限制:最少磁盘数:4个 适用场景:重要数据 RAID-01: 描述:两两或更多先做RAID0条带卷,再把多个条带卷做RAID1镜像卷 工作机制:把RAID0和RAID1技术结合起来,即RAID0+1。数据除分布在多个盘上外,每个盘都有其物理镜像盘,提供全冗余能力,允许一个以下磁盘故障,而不影响数据可用性,并具有快速读/写能力。要求至少4个硬盘才能作成RAID0+1。 优势: 读写性能提升 可用空间:50% 容错性稍弱 缺点: 有容错能力, 1块磁盘 限制:最少磁盘数:4个 适用场景:临重要数据适用场景:临重要数据 RAID-50
JBOD:Just a Bunch of Disks
JBOD通常又称为Span。它是在逻辑上将几个物理磁盘一个接一个连起来, 组成一个大的逻辑磁盘。JBOD不提供容错,该阵列的容量等于 组成Span的所有磁盘的容量的总和。JBOD严格意义上说,不属于RAID的范围。不过现在很多IDE RAID控制芯片都带着种模式,JBOD就是 简单的硬盘容量叠加,但系统处理时并没有采用并行的方式,写入数据的时候就是先写的一块硬盘,写满了再写第二块硬盘…… 不属于RAID的范畴 功能:将多块磁盘的空间合并一个大的连续空间使用; 可用空间:sum(s1,s2...)
常见级别:RAID-0,RAID-1,RAID-5,RAID-10,RAID-50,JBOD
3.实现方式(centos上的软RAID实现)
mdadm:模式化工具
如命令不能使用,则yum安装mdadm
命令语法:mdadm [mode] <raiddevices> [options] <component-devices> 支持的RAID级别:LINEAR,RAID0,RAID1,RAID4,RIAD5,RAID6,RAID10 <raiddevices> :/dev/md# <component-devices>:任意块设备 [options]: 模式: 创建:创建RAID设备 -C -n #: 使用#个块设备来创建次RAID -l:指明要创建的RAID的级别 -a {yes|no}:表示是否自动创建目标RAID设备的设备文件 -c CHUNK_SIZE:指明块大小 -x #:指明空闲盘的个数(没有冗余能力的RAID,此选项没用) 装配:raid后,当某一磁盘损坏或拿掉后,扫描raid原有的元数据,重新装配成原来的raid -A 监控: -F 管理: -f ,-r,-a -f:标记指定磁盘为损坏 -a:添加磁盘 -r:移除磁盘 删除: -S 显示RAID详细信息: -D mdadm -D /dev/md# 观察md的状态: (创建RAID后查看,必须等文件中的进度条走完,才能实现其他功能,进度条代表生成RAID的过程) [root@w7 home]# cat /proc/mdstat 配合watch -n1 显示实时查看 watch命令: -n #:刷新间隔,单位是秒 watch -n# 'COMMEND'
软RAID配置实例
fdisk创建分区,修改类型为fd(实际生产过程中,使用整块磁盘)
使用mdadm创建并定义RAID设备
mdadm -C /dev/md0 -a yes -l 5 -n 3 -x 1/dev/sdb1 /dev/sdc1 /dev/sdd1 /dev/sde1用文件系统对每个RAID设备进行格式化
mke2fs -t ext4 /dev/md0测试RAID设备
mdadm允许检查RAID设备的状况
mdadm –detail|D /dev/md0查看RAID的配置文件
cat /proc/mdstat增加新的成员
mdadm –G /dev/md0 –n4 -a /dev/sdf1
软RAID的删除:
umount /挂载点
mdadm -S /dev/md#
rf -f /etc/mdadm.conf
fdisk /dev/sd#
mdadm —
mdadm -zero-superblock /dev/sd[a-z]#
软RAID测试和修复
模拟磁盘故障(标记某磁盘为损坏磁盘,此步骤必须在/proc/mdstat文件进度条生成后)
mdadm /dev/md0 -f /dev/sda1移除磁盘
mdadm /dev/md0 –r /dev/sda1从软件RAID磁盘修复磁盘故障
替换出故障的磁盘然后开机
在备用驱动器上重建分区
mdadm /dev/md0 -a /dev/sda1
mdadm、 /proc/mdstat及系统日志信息
软RAID管理:
生成配置文件(很重要,否则开机找不到raid):
mdadm -D -s >/etc/mdadm.conf
停止md设备:
mdadm -S /dev/md#
激活md设备
mdadm -A -s /dev/md#
删除RAID信息:
mdadm -zero-superblock /dev/sd[a-z]#
4.实战
1:创建一个10G可用空闲的RAID5;
[root@w7 ~]# mdadm -C /dev/md1 -a yes -n 2 -x 1 -l 5 /dev/sdb{2,3,4}
-C 创建raid,-a 创建设备文件 -n指明使用#个磁盘做数据盘 -x 空闲盘为#个 -l指明RAID级别
mdadm: /dev/sdb4 appears to be part of a raid array: level=raid0 devices=0 ctime=Thu Jan 1 08:00:00 1970 mdadm: partition table exists on /dev/sdb4 but will be lost or meaningless after creating array Continue creating array? y mdadm: Defaulting to version 1.2 metadata mdadm: array /dev/md1 started.
[root@w7 ~]# cat /proc/mdstat 查看raid的映射文件
Personalities : [raid6] [raid5] [raid4] md1 : active raid5 sdb3[3] sdb4[2](S) sdb2[0] 5238784 blocks super 1.2 level 5, 512k chunk, algorithm 2 [2/1] [U_] [====>................] recovery = 21.7% (1139712/5238784) finish=0.9min speed=71232K/sec unused devices: <none>
[root@w7 ~]# mke2fs -t ext4 /dev/md1 给RAID里的所有磁盘生成文件系统
mke2fs 1.42.9 (28-Dec-2013) Filesystem label= OS type: Linux Block size=4096 (log=2)
[root@w7 ~]# mount /dev/md1 /mnt 挂载RAID
[root@w7 ~]# mount 查看挂载情况
/dev/md1 on /mnt type ext4 (rw,relatime,stripe=128,data=ordered)
[root@w7 ~]# df -lh 查看RAID的磁盘大小
/dev/md1 4.8G 20M 4.6G 1% /mnt
[root@w7 ~]# blkid /dev/md1 使用UUID设置自动挂载,重启机器后会改变设备名,写入/etc/fstab
/dev/md1: UUID="ceadea35-a6e2-4763-ac62-86c323f27c2c" TYPE="ext4"
[root@w7 ~]# mdadm -Ds /dev/md1 > /etc/mdadm.conf 生成配置文件(很重要)
mdadm -S /dev/md0 停止raid
mdadm -A /dev/md0 启动raid
2.设置损坏
[root@w7 ~]# mdadm -D /dev/md1 查看RAID状态
/dev/md1: Version : 1.2 Creation Time : Fri Aug 26 21:01:52 201 Raid Level : raid5 Array Size : 5238784 (5.00 GiB 5.36 GB) Used Dev Size : 5238784 (5.00 GiB 5.36 GB) Raid Devices : 2 Total Devices : 3 Persistence : Superblock is persistent Update Time : Fri Aug 26 21:03:55 2016 State : clean Active Devices : 2 Working Devices : 3 Failed Devices : 0 Spare Devices : 1 Layout : left-symmetric Chunk Size : 512K Name : w7.2-b-214:1 (local to host w7.2-b-214) UUID : 254cfe33:b02cd9ac:464bc6a1:605f6422 Events : 18 Number Major Minor RaidDevice State 0 8 18 0 active sync /dev/sdb2 3 8 19 1 active sync /dev/sdb3 2 8 20 - spare /dev/sdb4
[root@w7 ~]# mdadm /dev/md1 -f /dev/sdb 编辑一块磁盘为损坏
[root@w7 ~]# mdadm -D /dev/md1 再次查看信息
Number Major Minor RaidDevice State 3 8 64 0 spare rebuilding /dev/sde 1 8 32 1 active sync /dev/sdc 4 8 48 2 active sync /dev/sdd 0 8 16 - faulty /dev/sdb 原来空闲磁盘自动工作,标记损坏的磁盘自动到空闲位
[root@w7 ~]#mdadm /dev/md0 -r /dev/sdf1 删除成员
[root@w7 ~]#mdadm /dev/md0 -a /dev/sdf1 增加
[root@w7 ~]#mdadm -G /dev/md0 -n 6 -a /dev/sdd4 增加成员
3.删除RAID,恢复磁盘
umount //mnt 从挂载点卸载raid
mdadm -S /dev/md1 停止RAID
rf -f /etc/mdadm.conf 删除RAID的配置文件
fdisk /dev/sd# 整理磁盘的分区(整个磁盘做RAID,此部可省)
mdadm -zero-superblock /dev/sd[a-z]# 把每个做raid的磁盘都从RAID移除
4.创建一个可用空间为10G的RAID1设备,要求其chumk大小为128k,文件系统为ext4,有一个空闲盘,开机可自动挂载至/backup目录
mdadm -C /dev/md4 -n 2 -l 1 -a yes -b 128 /dev/sdc1 /dev/sdc2 lsblk mdadm -D /dev/md4 mke2fs -t ext4 /dev/md4
5.创建一个可用空间为10G的RAID10设备,要求其chumk大小为256k,文件系统为ext4,开机可自动挂载至/mydata目录
mdadm -C /dev/md2 -n 2 -l 1 -a yes -c 128 /dev/sdc{1,2} mdadm -C /dev/md3 -n 2 -l 1 -a yes -c 128 /dev/sdd{1,2} lsblk mdadm -C /dev/md4 -n 2 -l 0 -a yes /dev/md{2,3} lsblk cat /proc/mdstat mdadm -D /dev/md4 mdadm /dev/md3 -r /dev/sdd1 mdadm /dev/md3 -f /dev/sdd1 mdadm -D /dev/md3
创建一个可用空间为10G的RAID01设备,要求其chumk大小为256k,文件系统为ext4,开机可自动挂载至/mydata目录
mdadm -C /dev/md5 -n 2 -l 0 -a yes /dev/sdc{3,4} 1071 mdadm -C /dev/md6 -n 2 -l 0 -a yes /dev/sdd{3,4} 1072 mdadm -C /dev/md7 -n 2 -l 1 -a yes -b 128 /dev/md5 /dev/md6 1073 ls 1074 lsblk 1075 mke2fs -t ext4 /dev/md4 1076 mke2fs -t ext4 /dev/md7 1077 mount /dev/md7 /mnt 1078 cd /mnt 1079 ls 1080 df -lh 1081 madam -D /dev/md7
三.LVM(逻辑卷)管理器
1.概论
什么是LVM?
LVM是逻辑盘卷管理(LogicalVolumeManager 2)的简称,它是Linux环境下对磁盘分区进行管理的一种机制.LVM是建立在硬盘和 分区之上的一个逻辑层,用来提高磁盘分区管理的灵活性。系统管理员可以通过LVM轻松的管理磁盘分区,如:将若干个磁盘分区或 物理磁盘连接为一个整块的卷组 (volumegroup),形成一个存储池。管理员可以在卷组上随意创建逻辑卷组(logicalvolume s),并进一步在逻辑卷组上创建文件系统。管理员通过LVM可以方便的调整存储卷组的大小,并且可以对磁盘存储按照组的方式进 行命名、管理和分配,例如按照使用用途进行定义:“development”和“sales”,而不是使用物理磁盘名“sda”和“sdb”。相对于 普通的磁盘分区有很大的灵活性,使用普通的磁盘分区,当一个磁盘的分区空间不够使用的时候,可能就会带来很大的麻烦,而使 用LVM可以很灵活的调整分区的大小并且数据不受影响。 原理:把底层磁盘创建成PV,pv加入到VG group,在VG中拉出一块空间,创建LV 作用:使用软件的方式,组织一个或多个底层硬件的设备,成为一个抽象的逻辑设备 底层硬盘设备(分区,RAID),可以创建为PV(物理卷,可以存放元数据),pv可以把底层提供的存储空间抽象为一个一个独立的存储单元,合 并在一个高级的单位,卷组VG,可以包含多个物理卷,VG的空间就是物理卷的空间,可以将一个或多个的物理设备(PV)组成一个逻辑设备(V G,类似扩展分区,不能被格式化直接使用).在VG上创建LV,每个LV都是独立的文件系统,可以格式化和使用,可以使用卷组内的任意可用空 间大小,可以跨多个VG多个pv组成一个VG,VG在逻辑层次上把1个或多个PV组成的存储空间,划分为固定大小的块(PE,物理盘区)pv加入到 VG后才有PE的存在,不同VG对PE的定义不同VG层次上,不管是来自哪的空间,都会被识别为一个一个的PE,VG创建LV的过程,就是指定特定 数量的PE来组成逻辑存储空间的过程,逻辑卷lv的大小可以动态扩大或收缩,而不危害里面的数据.VG和LV都可以动态添加或缩小,保障存 储空间的收缩性,但是在软件层次上实现,一旦数据损坏,很难恢复
使用模块:
dm模块(device mapper) 设备映射组件,将一个或多个底层块设备组织成一个逻辑设备的模块;
优缺点:
优点: LVM的重点在与可以弹性的调整文件系统的容量,当实际场景中,我们如果使用普通的分区后,基本该分区的容量就已经固定,比如linux 的/home分区由于用户存储的数据太多,导致/home分区的容量不够,我们需要把/home分区的数据拷贝到别的地方,挂载一块大分区上去 ,才可以完成/home的扩容,步骤比较繁琐。 由于LVM可以动态在线调整分区大小,我们直接通过LVM给/home分区扩容。如果有其它分区太大而浪费空间,我们还可以在线的缩小容量。 LVM还支持快照,在不中断业务的情况下,对数据做完整备份。 缺点: LVM是基于操作系统之上,若由于程序问题导致数据丢失,或LVM的损坏,数据恢复比较麻烦。
注意事项:
1.PV在移除时,必须满足: 其他PV具有承载LV大小的空间 pv上有数据时,必须把数据搬移到其他的PV上 2.lv的缩减相当危险,缩减不能在线进行,缩减lv要先卸载,先缩减逻辑边界,也就是文件系统边界,再缩减物理边界,也就是lv)缩减 LV有丢失数据风险,需要谨慎
设备文件:
/dev/dm-# 有两个符号链接: /dev/mapper/VG_name-LV_name (/dev/mapper/voL0-root) /dev/VG_NAME/LV_NAME(/dev/voL0/root)
基本术语
PV(物理卷,Physical Volume):指磁盘分区或从逻辑上与磁盘分区具有同样功能的设备(如RAID),是LVM的基本存储逻辑块,但 和基本的物理存储介质(如分区、磁盘等)比较,却包含有与LVM相关的管理参数。如果是磁盘分区创建PV,必须更改分区类型为LVM VG(卷组,Volume Group):由多个物理卷组成,类似于非LVM系统中的物理磁盘,其由一个或多个物理卷PV组成。可以在卷组上创 建一个或多个“LVM分区”(逻辑卷) LV(逻辑卷,Logical Volume):类似于非LVM系统中的磁盘分区,逻辑卷建立在卷组VG之上。在逻辑卷LV之上可以建立文件系统; 每个LV都是独立的文件系统,可以格式化和使用,可以使用卷组内的任意可用空间大小,可以跨多个VG PE(物理块,Physical Extent):每一个物理卷PV被划分成为PE(Physical Extents)的基本单元,具有唯一编号的PE是可以被 LVM寻址的最小单元。PE的大小是可配置的,默认为4MB。所以物理卷(PV)由大小等同的基本单元PE组成.PE被分配给逻辑卷使用后, 就会变成LE(逻辑盘区) LE(逻辑块,Logical Extent):逻辑卷LV也被划分为可被寻址的基本单位,称为LE。在同一个卷组中,LE的大小和PE是相同的, 并且一一对应 PV、VG、LV三者之间是有一定逻辑关系的,LVM是将一些零碎的磁盘分区(PV)合并成一个较大的磁盘(VG),然后在根据需要对这个 较大的磁盘(VG)进行划分成不同的小分区(LV),并且这些小分区(LV)是可以动态的扩展或缩小的。而PE是PV的基本组成单元,LE 是LV的基本组成单元。
以上为一个简单模型:
PV:物理磁盘,LVM是建立在物理磁盘上面的,增加物理磁盘可以扩展上层分区的大小。
VG:卷组,可以包含一个或多个物理卷。
LV:逻辑卷,从VG上分出可以实际存储数据的分区,建立文件系统
PE:VG上最小的块大小单元。
2.管理LVM命令
三类命令
1、管理物理卷的命令,命令开头是pv
pvs 显示pv分区的简要信息,包括硬盘分区名称、PV名称、空间问题及空闲量 pvcreate 把硬盘分区转换成PV 创建物理卷 pvcreate [选项] [硬盘分区] 选项: -f:强制创建物理卷,不需要用户确认; -u:指定设备的UUID; -y:所有的问题都回答“yes”; -Z:是否利用前4个扇区。 pvdisplay 显示PV的详细信息 pvscan 扫描系统中的pv pvremove 删除pv pvmove [选项] [pv_name....] 选项: -f 强制删除,不提示 -y 对提示的内容,自动输入yes pvchange 改变pv的物理属性 pvchange [选项] [pv_name] 选项: -u 为指定的PV_NAME随便生成UUID pvck 检查PV的元数据 pvresize 调整PV的容量大小 pvresize [选项] [pv_name] --setphysicalvolumesize <容量大小> 指定修改PV的空间大小 pvresize /dev/sda4 自动把/dev/sda4的空间大小调整为磁盘分区的最大值 pvresize --setphysicalvolumszise 50G /dev/sda4 把/dev/sda4的空间大小调整为50G pvmove 把源PV的上数据移动到目标pv上 vmove [选项] [源PV] [目标PV1.......] pvmove /dev/sda4 /dev/sda5 把/dev/sda4的数据移动到/dev/sda5
2、管理卷组的命令,命令开头是vg
vgs 显示vg分区的简要信息,包括硬盘分区名称、PV名称、空间问题及空闲量 vgdisplay 显示vg的详细信息 vgcreate 创建VG vgcreate [选项] [vg_name] [pv_name.....] -l:卷组上允许创建的最大逻辑卷数,即PV数量; -p:卷组中允许添加的最大物理卷数; -s:卷组上的物理卷的PE大小,即PV数量。 vgextend 添加PV到VG中 vgextend [选项] [vg_name] [pv_name] -d 使用调试模式 -t 测试使用 -f 强制扩展 -v 显示详细信息 vgreduce VolumeGroupName PhysicalDevicePath [PhysicalDevicePath...] #移除VG中的一个PV ,前提是移动数据 vgremove VG_NAME #删除vg组,要先把mount取消掉 vgscan [PhysicalDevicePath] 扫描系统中的VG
3、管理逻辑卷的命令,命令开头是lv
lvs 查看 lvdisplay 查看详细信息 lvcreate 创建lv lvscan 扫描LV lvcreate [选项] [vc_name] -L -L #K|M|G 指定创建的逻辑卷的大小 -l 通过指定VC的PE数量,来确定VC的空间大小 -n 指定vc的名称 lvremove 删除lv,先要卸载mount lvremove [选项] [lv_name] 扩展逻辑卷: #注意:在 lvexten扩展完成后,直接操作mount,会发现扩展的空量没有直接应用到文件系统中,需要执行一次 resize2fs # lvextend -L [+]#[mMgGtT] /dev/VG_NAME/LV_NAME 不带加号是扩展到# 带加号是扩展# resize2fs /dev/VG_NAME/LV_NAME 重新加载文件系统(扩大逻辑边界) 缩减逻辑卷: umount /dev/VG_NAME/LV_NAME #缩减必须先umount e2fsck -f /dev/VG_NAME/LV_NAME #文件系统强制检测及修复 resize2fs /dev/VG_NAME/LV_NAME #[mMgGtT] #指定文件系统缩减到大多的空间 lvreduce -L [-]#[mMgGtT] /dev/VG_NAME/LV_NAME #指定LV的缩减到多大的空间 mount #挂载
3.实战
一、创建1个10G的pv
1、准备三个磁盘sdb sdd
[root@Whatsername /]# pvcreate /dev/sd{b,d} Writing physical volume data to disk "/dev/sdb" Physical volume "/dev/sdb" successfully created Writing physical volume data to disk "/dev/sdd" Physical volume "/dev/sdd" successfully created
2、检测所创建pv
pvs pvscan pvdisplay
二、创建VG
1、创建
格式:vgcreate vg命令 pv1 pv2 ..... [root@Whatsername /]# vgcreate zxhh_vg /dev/sd{b,d} Volume group "zxhh_vg" successfully created
2、检测
vgs vgscan vgdisplay
3、删除这个VG,重新创建,pe为8M
[root@Whatsername /]# vgremove zxhh_vg Volume group "zxhh_vg" successfully removed [root@Whatsername /]# vgcreate -s 8M zxhk_vg /dev/sd{b,d} Volume group "zxhk_vg" successfully created
4、移除pv sdb
[root@Whatsername /]# pvmove /dev/sdb No data to move for zxhk_vg [root@Whatsername /]# vgreduce zxhk_vg /dev/sdb Removed "/dev/sdb" from volume group "zxhk_vg" [root@Whatsername /]# pvs PV VG Fmt Attr PSize PFree /dev/sda2 vg_whatsername lvm2 a-- 19.51g 0 /dev/sdb lvm2 a-- 4.00g 4.00g /dev/sdd zxhk_vg lvm2 a-- 3.99g 3.99g [root@Whatsername /]# pvremove /dev/sdb Labels on physical volume "/dev/sdb" successfully wiped
5、新添加PV进来
[root@Whatsername /]# pvcreate /dev/sde Writing physical volume data to disk "/dev/sde" Physical volume "/dev/sde" successfully created [root@Whatsername /]# vgextend zxhk_vg /dev/sde Volume group "zxhk_vg" successfully extended [root@Whatsername /]# pvs PV VG Fmt Attr PSize PFree /dev/sda2 vg_whatsername lvm2 a-- 19.51g 0 /dev/sdd zxhk_vg lvm2 a-- 3.99g 3.99g /dev/sde zxhk_vg lvm2 a-- 2.99g 2.99g
三、创建lv
1、创建一个100M的逻辑卷
[root@Whatsername /]# lvcreate -L 100M -n zxhk_lv zxhk_vg 创建的逻辑卷对应的设备文件在/dev/zxhk_vg/zxhk_lv
2、安装文件系统
[root@Whatsername /]# mke2fs -t ext4 /dev/zxhk_vg/zxhk_lv
3、挂载使用逻辑卷
[root@Whatsername /]# mount /dev/zxhk_vg/zxhk_lv /ma [root@Whatsername /]# df -lhP
4扩展逻辑卷:
[root@localhost ~]# lvs LV VG Attr LSize Pool Origin Data% Meta% Move Log Cpy%Sync Convert root centos -wi-ao---- 8.47g swap centos -wi-ao---- 1.00g lvtest vgtest -wi-ao---- 3.91g [root@localhost ~]# vgs VG #PV #LV #SN Attr VSize VFree centos 1 2 0 wz--n- 9.51g 40.00m vgtest 3 1 0 wz--n- 11.99g 8.08g [root@localhost ~]# lvextend -L +1G /dev/vgtest/lvtest #为lvtest的空间扩大1G Size of logical volume vgtest/lvtest changed from 3.91 GiB (1000 extents) to 4.91 GiB (1256 extents). Logical volume lvtest successfully resized. [root@localhost ~]# lvdisplay --- Logical volume --- LV Path /dev/vgtest/lvtest LV Name lvtest VG Name vgtest LV UUID QRJ9jg-vxf6-cOHs-5zuJ-dBze-UryA-3sGork LV Write Access read/write LV Creation host, time localhost.localdomain, 2016-05-19 22:46:43 +0800 LV Status available open 1 LV Size 4.91 GiB #扩展后的空间 Current LE 1256 #扩展后的LE,LE的值与PE相同 Segments 1 Allocation inherit Read ahead sectors auto - currently set to 8192 Block device 253:2 [root@localhost ~]# df -h | grep "lvtest" /dev/mapper/vgtest-lvtest 3.8G 14M 3.6G 1% /lvtest #但能使用的空间还没有扩展 [root@localhost ~]# resize2fs /dev/vgtest/lvtest #resize2fs命令被用来增大或者收缩未加载的“ext2/ext3”文件系统的大小 resize2fs 1.42.9 (28-Dec-2013) Filesystem at /dev/vgtest/lvtest is mounted on /lvtest; on-line resizing required old_desc_blocks = 1, new_desc_blocks = 1 The filesystem on /dev/vgtest/lvtest is now 1286144 blocks long. [root@localhost ~]# df -h | grep "lvtest" /dev/mapper/vgtest-lvtest 4.8G 14M 4.6G 1% /lvtest #已能使用扩展后的空间 在线扩容LVM命令比较简单,但是需要理解的的是,实际工作中应该是把新的PV分区格式化为8e的分区,把PV添加到VG中,,在通过VG来 分配空间给我们的LV,由于我的VG空间充足,直接LV命令扩容。 在线lvetend扩容LV后,系统还无法识别LV的空间,需要 resize2fs重新读取一下,是系统识别到正确的容量空间。
5.缩减逻辑卷:
[root@localhost /]# lvdisplay /dev/vgtest/lvtest --- Logical volume --- LV Path /dev/vgtest/lvtest LV Name lvtest VG Name vgtest LV UUID ze2YVv-0eXR-RBD2-byEK-eqtt-zuaD-m4LqJM LV Write Access read/write LV Creation host, time localhost.localdomain, 2016-05-19 23:35:14 +0800 LV Status available # open 1 LV Size 5.00 GiB #缩小前的空间 Current LE 1280 Segments 2 Allocation inherit Read ahead sectors auto - currently set to 8192 Block device 253:2 [root@localhost /]# umount /lvtest/ #必须先卸载,否则会出问题。但扩大空间时不用先卸载 [root@localhost /]# resize2fs /dev/vgtest/lvtest 2G #把文件系统大小压缩成2G resize2fs 1.42.9 (28-Dec-2013) Please run 'e2fsck -f /dev/vgtest/lvtest' first. #提示先进行文件检测,如果没有事先umount,检测会出问题,提示超级块有坏块 [root@localhost /]# e2fsck -f /dev/vgtest/lvtest #检测 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/vgtest/lvtest: 11/327680 files (0.0% non-contiguous), 55935/1310720 blocks [root@localhost /]# resize2fs /dev/vgtest/lvtest 2G #把文件系统大小压缩成2G resize2fs 1.42.9 (28-Dec-2013) Resizing the filesystem on /dev/vgtest/lvtest to 524288 (4k) blocks. The filesystem on /dev/vgtest/lvtest is now 524288 blocks long. [root@localhost /]# lvreduce -L 2G /dev/vgtest/lvtest #把LV的空间缩小成2G WARNING: Reducing active logical volume to 2.00 GiB THIS MAY DESTROY YOUR DATA (filesystem etc.) Do you really want to reduce lvtest? [y/n]: Y Size of logical volume vgtest/lvtest changed from 5.00 GiB (1280 extents) to 2.00 GiB (512 extents). Logical volume lvtest successfully resized. [root@localhost /]# mount /dev/vgtest/lvtest /lvtest/ [root@localhost /]# df -h | grep "lvtest" /dev/mapper/vgtest-lvtest 1.9G 7.7M 1.8G 1% /lvtest 在实际中有可能出现原来的LV空间数据存放BLOCK比较分散,缩减需要把磁盘空间数据的集中在限定大小的区域,所以需要需要卸载,以 免在数据移动过程中,有其它的数据写入缩减空间以为的block。 记得卸载后一定记需要强制检测分区,使用 resize2fs调整分区,再使用lvreduce调整分区,不然会出现该LV卷出现损坏的故障报错。
6.删除LVM
1、取消挂载及删除/etc/fstab中条目
umount /home #取消挂载 vim /etc/fstab #删除该文件中/home挂载的对应条目
2、移除逻辑卷LV
lvchange -an /dev/vgname/lvname #关闭逻辑卷 lvremove /dev/vgname/lvname #移除逻辑卷
3、移除卷组VG
vgchange -an /dev/vgname #关闭卷组 vgremove /dev/vgname #移除卷组
4、移除物理卷PV
pvremove /dev/sda1 #移除物理卷
5、删除磁盘分区
通过fdisk删除磁盘分区,这个不做演示 partx -d --nr 1 /dev/sda #删除之后,记得用该命令刷新内存条目
7.LVM的迁移
以下操作以迁移VG为主进行的操作,迁移LV同理
1、源主机上操作
①取消所要迁移的文件系统挂载
umount /home
②关闭LV和VG
lvchange -an /dev/vgname/lvname vgchange -an /dev/vgname
③导出VG
vgexport vgname
2、目标主机上操作
①导入VG
vgimport vgname
②激活VG,挂载文件系统
vgchange -ay vgname
③挂载迁移过来的文件系统
mkdir /home mount/dev/vgname/lvname /home df -h #查看挂载情况
4.快照:snapshot
介绍几个概念,关于数据的备份
冷备份:卸载掉文件系统,不能读不能写 温备份:不卸载文件系统,能读取文件系统内容但是不能写 热备份:不卸载文件系统,既能读取文件系统内容又能写入
注意两点:
1),快照其实也是一个逻辑卷
2),快照只能对逻辑卷LVM进行备份,并且只能对同一个卷组的逻辑卷进行备份
1.快照概论
对文件系统做快照,是把文件系统的某一刻的状态,瞬间扫描,创建对文件系统的元数据的监控器(快照卷),快照卷是指向原卷的另一个路径,存放着原卷某一时刻的元数据.针对某一时间,原卷的文件要变化时,先把要复制的文件备份在快照卷,再改变原卷文件;如果原卷一直没有发生改变,在恢复快照时,快照卷仍指向源文件,访问源文件.创建快照卷后,原卷在发生改变后,在进行差异(增量备份).快照卷的大小跟保留时间有关联,应大于等于源逻辑卷的大小,方便存储源逻辑卷的文件.
快照就是将当时系统的信息记录下来,就好像照相一样。将来若有任何数据的改动,则原始数据就会被移动到快照区。 做快照时,一定要确保数据没有在被访问 快照LV和被快照的LV要在同一个VG中。
2.管理快照
创建快照卷:(与现有卷在一个空间里)
lvcreate -L #[mMgGtT] -p r -s -n snapshot_name original_lv_name
说明:-s : 创建快照的参数;-L:设置快照空间大小;-P r快照为只读模式-n创建快照的名称
3.演练
创建快照卷: 1.lvcreate -s -L 2G -n mylv_snap -p r /dev/vg0/mylv 2.mount /dev/mylv_snap /mnt 删除快照卷: 1.umount /mnt 2.lvremove /dev/vg0/mylv_snap
一.对lvm0102做快照,备份其数据
1.查看lv0102的空间大小,查看其中数据;
2.做快照后,删除和修改源卷的数据;
3.查看快照卷中的数据是否完整。
[root@love721 root]cd /mnt/mylv0102 进入lv的挂载目录 [root@love721 mylv0102]# ll –h # 查看到原卷上的数据有105M total 105M -rw-r--r-- 1 root root 124K Aug 1 16:10 config-3.10.0-327.el7.x86_64 drwxr-xr-x 2 root root 4.0K Aug 1 16:10 grub drwx------ 6 root root 4.0K Aug 1 16:10 grub2 -rw-r--r-- 1 root root 55M Aug 1 16:10 initramfs-0-rescue-7d0dd8f054af463ca2d6ac1f4b210fdc.img -rw-r--r-- 1 root root 27M Aug 1 16:10 initramfs-3.10.0-327.el7.x86_64.img -rw-r--r-- 1 root root 9.8M Aug 1 16:10 initrd-plymouth.img -rw-r--r-- 1 root root 119 Aug 1 13:04 issue drwx------ 2 root root 16K Aug 1 13:03 lost+found -rw-r--r-- 1 root root 247K Aug 1 16:10 symvers-3.10.0-327.el7.x86_64.gz -rw------- 1 root root 2.9M Aug 1 16:10 System.map-3.10.0-327.el7.x86_64 -rwxr-xr-x 1 root root 5.0M Aug 1 16:10 vmlinuz-0-rescue-7d0dd8f054af463ca2d6ac1f4b210fdc -rwxr-xr-x 1 root root 5.0M Aug 1 16:10 vmlinuz-3.10.0-327.el7.x86_64 [root@love721 mylv0102]# df –h #硬盘的空间还有2.7G左右 Filesystem Size Used Avail Use% Mounted on tmpfs 98M 0 98M 0% /run/user/0 /dev/mapper/vg01-lv0102 2.9G 116M 2.7G 5% /mnt/mylv0102
创建快照卷 lv0102_snap 大小为500M (快照卷空间不要太小了,一边原卷上的数据变动比较频繁时,快照卷无法保存所有的原卷数据备份)
[root@love721 mylv0102]# lvcreate -s -L 500M -n lv0102_snap -p r /dev/mapper/vg01-lv0102 #创建一个500M的 lv0102的快照卷 lv0102_snap,权限为只读的 Logical volume "lv0102_snap" created. [root@love721 mylv0102]# lvdisplay #显示LV卷的信息,部分文字省了,可以看到刚刚创建的快照卷 ………………………………….. --- Logical volume --- LV Path /dev/vg01/lv0102_snap LV Name lv0102_snap VG Name vg01 LV UUID YAETxW-lPfi-af9a-RM41-t5Ok-5BBT-ourZfl LV Write Access read only LV Creation host, time love721.q.com, 2016-08-01 16:16:34 +0800 LV snapshot status active destination for lv0102 LV Status available # open 0 LV Size 2.93 GiB Current LE 750 COW-table size 500.00 MiB COW-table LE 125 Allocated to snapshot 0.00% Snapshot chunk size 4.00 KiB Segments 1 Allocation inherit Read ahead sectors auto - currently set to 8192 Block device 253:4
挂载快照卷,修改lv0102中的数据,删除部分数据,测试快照卷的完整性。
[root@love721 mylv0102]# mkdir /mnt/snap [root@love721 mylv0102]# mount /dev/vg01/lv0102_snap /mnt/snap #挂载快照卷 mount: /dev/mapper/vg01-lv0102_snap is write-protected, mounting read-only [root@love721 snap]# ll -h total 105M -rw-r--r-- 1 root root 124K Aug 1 16:10 config-3.10.0-327.el7.x86_64 drwxr-xr-x 2 root root 4.0K Aug 1 16:10 grub drwx------ 6 root root 4.0K Aug 1 16:10 grub2 -rw-r--r-- 1 root root 55M Aug 1 16:10 initramfs-0-rescue-7d0dd8f054af463ca2d6ac1f4b210fdc.img -rw-r--r-- 1 root root 27M Aug 1 16:10 initramfs-3.10.0-327.el7.x86_64.img -rw-r--r-- 1 root root 9.8M Aug 1 16:10 initrd-plymouth.img -rw-r--r-- 1 root root 119 Aug 1 13:04 issue drwx------ 2 root root 16K Aug 1 13:03 lost+found -rw-r--r-- 1 root root 247K Aug 1 16:10 symvers-3.10.0-327.el7.x86_64.gz -rw------- 1 root root 2.9M Aug 1 16:10 System.map-3.10.0-327.el7.x86_64 -rwxr-xr-x 1 root root 5.0M Aug 1 16:10 vmlinuz-0-rescue-7d0dd8f054af463ca2d6ac1f4b210fdc -rwxr-xr-x 1 root root 5.0M Aug 1 16:10 vmlinuz-3.10.0-327.el7.x86_64
删除原卷下一些数据,修改个别文件
[root@love721 mylv0102]# rm symvers-3.10.0-327.el7.x86_64.gz rm: remove regular file ‘symvers-3.10.0-327.el7.x86_64.gz’? y [root@love721 mylv0102]# rm vmlinuz-* rm: remove regular file ‘vmlinuz-0-rescue-7d0dd8f054af463ca2d6ac1f4b210fdc’? y rm: remove regular file ‘vmlinuz-3.10.0-327.el7.x86_64’? y
删除lv0102原卷上的三个文件
[root@love721 mylv0102]# ll total 96736 -rw-r--r-- 1 root root 126426 Aug 1 16:10 config-3.10.0-327.el7.x86_64 drwxr-xr-x 2 root root 4096 Aug 1 16:10 grub drwx------ 6 root root 4096 Aug 1 16:10 grub2 -rw-r--r-- 1 root root 57644379 Aug 1 16:10 initramfs-0-rescue-7d0dd8f054af463ca2d6ac1f4b210fdc.img -rw-r--r-- 1 root root 28097829 Aug 1 16:10 initramfs-3.10.0-327.el7.x86_64.img -rw-r--r-- 1 root root 10190079 Aug 1 16:10 initrd-plymouth.img -rw-r--r-- 1 root root 119 Aug 1 13:04 issue drwx------ 2 root root 16384 Aug 1 13:03 lost+found -rw------- 1 root root 2963044 Aug 1 16:10 System.map-3.10.0-327.el7.x86_64 [root@love721 mylv0102]# echo "1234567890" >> issue #修改issue文件内容 [root@love721 mylv0102]# cat issue \S Kernel \r on an \m Mage Education Learning Services http://www.magedu.com TTY is \l HOSTNAME is \n DATE is \t 1234567890
查看快照上的文件内容:删除的文件在,修改issue的文件内容是快照以前的
[root@love721 mylv0102]# ll /mnt/snap/ total 107056 -rw-r--r-- 1 root root 126426 Aug 1 16:10 config-3.10.0-327.el7.x86_64 drwxr-xr-x 2 root root 4096 Aug 1 16:10 grub drwx------ 6 root root 4096 Aug 1 16:10 grub2 -rw-r--r-- 1 root root 57644379 Aug 1 16:10 initramfs-0-rescue-7d0dd8f054af463ca2d6ac1f4b210fdc.img -rw-r--r-- 1 root root 28097829 Aug 1 16:10 initramfs-3.10.0-327.el7.x86_64.img -rw-r--r-- 1 root root 10190079 Aug 1 16:10 initrd-plymouth.img -rw-r--r-- 1 root root 119 Aug 1 13:04 issue drwx------ 2 root root 16384 Aug 1 13:03 lost+found -rw-r--r-- 1 root root 252612 Aug 1 16:10 symvers-3.10.0-327.el7.x86_64.gz -rw------- 1 root root 2963044 Aug 1 16:10 System.map-3.10.0-327.el7.x86_64 -rwxr-xr-x 1 root root 5156528 Aug 1 16:10 vmlinuz-0-rescue-7d0dd8f054af463ca2d6ac1f4b210fdc -rwxr-xr-x 1 root root 5156528 Aug 1 16:10 vmlinuz-3.10.0-327.el7.x86_64 [root@love721 mylv0102]# cat /mnt/snap/issue \S Kernel \r on an \m Mage Education Learning Services http://www.magedu.com TTY is \l HOSTNAME is \n DATE is \t 以上快照就完成,我们把快照内的文件拷贝出来放在备份服务器上即可 实验完毕,删除测试的整个LV 1.卸载所有的挂载点上的LV卷; 2.删除LV卷 lvremove /dev/vg01/lv0101 lvremove /dev/vg01/lv0102 3.删除VG: Vgremove /dev/vg01 Vgremove /dev/vg02 4.删除PE: peremove /dev/sdd1 peremove /dev/sdc1 peremove /dev/sdb1
实战:
1.创建一个至少有两个pv组成的大小为20G的名为tesvgt的卷组.要求PE大小为16MB.
2.新建用户archlinux,要求其家目录为/users/archlinux,尔后切换archlinux用户,复制/etc/pam.d目录至自己的家目录
3.扩展testlv至7G,要求archlinux用户的文件不能丢失
4.收缩testlv至3G,要求archlinux用户的文件不能丢失
5.对testlv创建快照,先尝试基于快照备份数据,验证快照的功能
原创文章,作者:wencx,如若转载,请注明出处:http://www.178linux.com/42192