4.1、RAID简介
RAID(Redundant Arrays of Independent Disks),名为独立冗余磁盘阵列,可以把RAID理解为一种使用磁盘驱动器的方法,它将一组磁盘驱动器用某种逻辑组合起来,作为一个逻辑磁盘驱动器来使用。主要优点有:提高IO能力,磁盘并行读写,提高耐用性;主要利用磁盘冗余来实现。其常用等级主要有:0、1、5、10、01、jbod等。等级划分只是多块磁盘组织在一起的工作方式有所不同,没有上下之分。RAID的实现方式主要有三种:
外接式磁盘阵列:通过扩展卡提供适配能力 内接式 RAID:主板集成 RAID 控制器 Software RAID:md(内核模块实现) |
RAID0:条带技术
提升读写能力;无容错能力;100%空间利用率;至少2块盘。
RAID1:镜像
写性能下降,读性能提升;有硬件容错能力;1/2 空间利用率;至少 2 块盘。
RAID5:数据校验(轮流校验)
提升读写能力;允许一块盘出错;(n-1)/n空间利用率;至少需要3块。
RAID 1+0 或 RAID 0+1
RAID 1+0:
(1)先让两颗磁盘组成 RAID 1,并且这样设定两组;
(2)将这两组 RAID 1 再組成一組 RAID0。
提升读写提升;允许不同组内各坏一块盘;1/2 空间利用率;至少需要4块。
RAID 0+1:先組成 RAID-0 再組成 RAID-1。
提升读写提升; 允许同组内坏盘; 1/2 空间利用率; 至少需要 4 块。
jbod:多个小盘叠加,对应用程序看来是一块大的磁盘
不提升读写能力;无容错能力;100%空间利用率;至少需要2块。
4.2、软件磁盘阵列/mdadm
通过内核模块md可以模拟实现软Raid,用户通过mdadm命令在用户空间管理md模块,但是生产环境中不建议使用。
mdadm: 将任何块设备做成 RAId,模式化管理工具。
创建模式: -C:创建一个新的RAID -l: 指定级别 -n #: 设备个数 -x #: 指定空闲盘个数,即备份磁盘 -a {yes|no}: 是否自动为其创建设备文件 管理模式 --add, --remove, --fail 如: mdadm /dev/md# --fail /dev/sda7(模拟磁盘损坏) 监控模式 -F 装配模式 -A,重新识别此前实现的RAID mdadm -S ( --stop) /dev/md# 停止阵列 mdadm -D ( --detail) /dev/md# 查看 RAID 详细信息 |
[[email protected] ~]# fdisk -l /dev/vdb #在当前系统创建了8个500MB的逻辑分区 Disk /dev/vdb: 10.7 GB, 10737418240 bytes 16 heads, 63 sectors/track, 20805 cylinders Units = cylinders of 1008 * 512 = 516096 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disk identifier: 0x0009b4fd Device Boot Start End Blocks Id System /dev/vdb4 1 10404 5243584+ 5 Extended /dev/vdb5 1 1017 512505 83 Linux /dev/vdb6 1018 2034 512536+ 83 Linux /dev/vdb7 2035 3051 512536+ 83 Linux /dev/vdb8 3052 4068 512536+ 83 Linux /dev/vdb9 4069 5085 512536+ 83 Linux /dev/vdb10 5086 6102 512536+ 83 Linux /dev/vdb11 6103 7119 512536+ 83 Linux /dev/vdb12 7120 8136 512536+ 83 Linux [[email protected] ~]# mdadm -C /dev/md0 -a yes -l 0 -n 2 /dev/vdb5 /dev/vdb6 #创建raid0 mdadm: Defaulting to version 1.2 metadata mdadm: array /dev/md0 started. [[email protected] ~]# mdadm -C /dev/md1 -a yes -l 1 -n 2 /dev/vdb7 /dev/vdb8 #创建raid1 mdadm: Note: this array has metadata at the start and may not be suitable as a boot device. If you plan to store ‘/boot‘ on this device please ensure that your boot-loader understands md/v1.x metadata, or use --metadata=0.90 Continue creating array? yes mdadm: Defaulting to version 1.2 metadata mdadm: array /dev/md1 started. [[email protected] ~]# mdadm -C /dev/md5 -a yes -l 5 -n 3 /dev/vdb9 /dev/vdb10 /dev/vdb11 mdadm: Defaulting to version 1.2 metadata #创建raid5 mdadm: array /dev/md5 started. [[email protected] ~]# ls -l /dev/md* #查看当前系统创建的raid brw-rw---- 1 root disk 9, 0 4月 17 10:18 /dev/md0 brw-rw---- 1 root disk 9, 1 4月 17 10:20 /dev/md1 brw-rw---- 1 root disk 9, 5 4月 17 10:26 /dev/md5 /dev/md: 总用量 4 -rw------- 1 root root 159 4月 17 10:25 md-device-map [[email protected] ~]# cat /proc/mdstat #raid的详细信息 Personalities : [raid0] [raid1] [raid6] [raid5] [raid4] md5 : active raid5 vdb11[3] vdb10[1] vdb9[0] 1022976 blocks super 1.2 level 5, 512k chunk, algorithm 2 [3/3] [UUU] md1 : active raid1 vdb8[1] vdb7[0] 512256 blocks super 1.2 [2/2] [UU] md0 : active raid0 vdb6[1] vdb5[0] 1022464 blocks super 1.2 512k chunks unused devices: <none> [[email protected] ~]# mdadm -D /dev/md5 #单独查看raid5的详细信息 /dev/md5: Version : 1.2 Creation Time : Mon Apr 17 10:25:59 2017 Raid Level : raid5 Array Size : 1022976 (999.00 MiB 1047.53 MB) Used Dev Size : 511488 (499.50 MiB 523.76 MB) Raid Devices : 3 Total Devices : 3 Persistence : Superblock is persistent Update Time : Mon Apr 17 10:26:42 2017 State : clean Active Devices : 3 Working Devices : 3 Failed Devices : 0 Spare Devices : 0 Layout : left-symmetric Chunk Size : 512K Name : mylinux:5 (local to host mylinux) UUID : 7f13e874:e92e40a2:691d96a5:153dfc7b Events : 18 Number Major Minor RaidDevice State 0 252 25 0 active sync /dev/vdb9 1 252 26 1 active sync /dev/vdb10 3 252 27 2 active sync /dev/vdb11 [[email protected] ~]# mkfs.ext4 /dev/md0 #在raid0上创建文件系统 mke2fs 1.41.12 (17-May-2010) 文件系统标签= 操作系统:Linux 块大小=4096 (log=2) 分块大小=4096 (log=2) Stride=128 blocks, Stripe width=256 blocks 64000 inodes, 255616 blocks 12780 blocks (5.00%) reserved for the super user 第一个数据块=0 Maximum filesystem blocks=264241152 8 block groups 32768 blocks per group, 32768 fragments per group 8000 inodes per group Superblock backups stored on blocks: 32768, 98304, 163840, 229376 正在写入inode表: 完成 Creating journal (4096 blocks): 完成 Writing superblocks and filesystem accounting information: 完成 This filesystem will be automatically checked every 33 mounts or 180 days, whichever comes first. Use tune2fs -c or -i to override. [[email protected] ~]# mount /dev/md0 /mnt #挂载文件系统 [[email protected] ~]# cd /mnt/ [[email protected] mnt]# ls lost+found [[email protected] mnt]# [[email protected] home]# mdadm -S /dev/md0 #停止阵列,停止阵列前需要先卸载文件系统 mdadm: stopped /dev/md0 [[email protected] home]# mdadm -D /dev/md0 mdadm: cannot open /dev/md0: No such file or directory [[email protected] home]# mdadm -R /dev/md0 #无法重启,此时需要重启系统才能开启raid mdadm: error opening /dev/md0: No such file or directory [[email protected] home]# mdadm /dev/md1 -f /dev/vdb7 #模拟raid磁盘故障 mdadm: set /dev/vdb7 faulty in /dev/md1 [[email protected] home]# mdadm -D /dev/md1 /dev/md1: Version : 1.2 Creation Time : Mon Apr 17 10:20:56 2017 Raid Level : raid1 Array Size : 512256 (500.25 MiB 524.55 MB) Used Dev Size : 512256 (500.25 MiB 524.55 MB) Raid Devices : 2 Total Devices : 2 Persistence : Superblock is persistent Update Time : Mon Apr 17 10:43:40 2017 State : clean, degraded Active Devices : 1 Working Devices : 1 Failed Devices : 1 Spare Devices : 0 Name : mylinux:1 (local to host mylinux) UUID : 89931eac:3c4ad21e:aa143535:e30bdf15 Events : 19 Number Major Minor RaidDevice State 0 0 0 0 removed 1 252 24 1 active sync /dev/vdb8 0 252 23 - faulty /dev/vdb7 #/dev/vdb7故障 [[email protected] home]# mdadm /dev/md1 -a /dev/vdb12 #添加新硬盘 mdadm: added /dev/vdb12 [[email protected] home]# mdadm /dev/md1 -r /dev/vdb7 #移除损坏的硬盘 mdadm: hot removed /dev/vdb7 from /dev/md1 [[email protected] home]# mdadm -D /dev/md1 /dev/md1: Version : 1.2 Creation Time : Mon Apr 17 10:20:56 2017 Raid Level : raid1 Array Size : 512256 (500.25 MiB 524.55 MB) Used Dev Size : 512256 (500.25 MiB 524.55 MB) Raid Devices : 2 Total Devices : 2 Persistence : Superblock is persistent Update Time : Mon Apr 17 10:45:55 2017 State : clean Active Devices : 2 Working Devices : 2 Failed Devices : 0 Spare Devices : 0 Name : mylinux:1 (local to host mylinux) UUID : 89931eac:3c4ad21e:aa143535:e30bdf15 Events : 39 Number Major Minor RaidDevice State 2 252 28 0 active sync /dev/vdb12 1 252 24 1 active sync /dev/vdb8 #删除RAID,先删除RAID中的所有设备,然后停止该RAID [[email protected] ~]# mdadm /dev/md1 --fail /dev/vdb12 --remove /dev/vdb12 mdadm: set /dev/vdb12 faulty in /dev/md1 mdadm: hot removed /dev/vdb12 from /dev/md1 [[email protected] ~]# mdadm /dev/md1 --fail /dev/vdb8 --remove /dev/vdb8 mdadm: set device faulty failed for /dev/vdb8: Device or resource busy [[email protected] ~]# mdadm --stop /dev/md1 mdadm: stopped /dev/md1 [[email protected] ~]# mdadm --remove /dev/md1 mdadm: error opening /dev/md1: No such file or directory [[email protected] ~]# rm -f /etc/mdadm.conf
4.3、LVM逻辑卷
LVM的全名是Logical Volume Manager,逻辑卷管理器。LVM 的做法是將几个分区(或disk)通过软件组合为物理卷 (VG),然后将物理卷分割为逻辑卷(LV),格式化后就可以挂载使用。lvm最大的优点是不再考虑物理磁盘的特性,中间架构了一层服务层,提供磁盘空间服务。
lvm中常用的术语:
Physical Media(PM)物理存储介质 系统的存储设备,硬盘或者硬盘上的分区,如/dev/sdb。 Physical Extend(PE)物理区域 每个物理卷被划分为大小相等的基本单元。物理区域是物理卷中可以用于分配的最小存储单元,物理区域大小一旦确定将不能修改,用一卷组中的所有物理卷的物理区域大小必须一致。 Physical Volume(PV)物理卷 硬盘分区或逻辑分区上与硬盘分区具有相同功能的设备,是lvm的基本存储逻辑块。和基本的物理存储介质(如分区、硬盘等)不同的是,它包含lvm管理参数。 Volume Group(VG)卷组 lvm中最高抽象层,由一个或多个物理卷组成,一个逻辑卷管理系统可以只有一个卷组或多个。 Logical Extent(LE)逻辑区域 逻辑卷也被划分为被称为LE的可寻址的基本单元,在同一卷组中,LE的大小和PE相同,一一对应。 Logical Volume(LV)逻辑卷 逻辑卷建立在卷组之上,相当于非lvm系统中的分区,可以在其上建立文件系统,系统中的多个逻辑卷可以属于一个卷组,也可以属于多个不同的卷组。 |
lvm的创建流程:
物理卷的管理命令 PV:
pvcreate :将分区创建成为PV; -s:PE 大小 pvscan :搜寻目前系统里面任何具有 PV 的磁碟; pvdisplay :显示出目前系统上面的 PV 状态; pvremove:将 PV 属性移除,移除物理卷上的 PE; pvchange:设置PV的性能,允许或拒绝从这个磁盘上分配另外的PE; pvs:显示物理卷信息 |
卷组管理命令 VG:
vgcreate :创建 VG 的命令啦! 他的参数比较多, 等一下介绍。 vgscan :搜寻系统上面是否有 VG 存在 vgdisplay :显示目前系统上面的 VG 状态; vgextend :在 VG 内添加额外的 PV ; vgreduce :在 VG 内移除 PV; vgchange :配置 VG 是否启动 (active); vgremove:删除一个 VG |
逻辑卷管理命令 LV:
lvcreate : 创建 LV -L:空间大小 -n:lv 名称 lvscan : 查询系统上面的 LV ; lvdisplay : 显示系统上面的 LV 状态 lvextend : 在 LV 里面添加容量 lvreduce : 在 LV 里面减少容量 lvremove : 删除一个 LV lvresize : 对 LV 进行容量大小的调整 |
- 创建lvm逻辑卷
[[email protected] ~]# fdisk -l #查看当前系统分区,使用vdb5/vdb6/vdb7创建lvm Disk /dev/vdb: 10.7 GB, 10737418240 bytes 16 heads, 63 sectors/track, 20805 cylinders Units = cylinders of 1008 * 512 = 516096 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disk identifier: 0x0009b4fd Device Boot Start End Blocks Id System /dev/vdb4 1 10404 5243584+ 5 Extended /dev/vdb5 1 1017 512505 83 Linux /dev/vdb6 1018 2034 512536+ 83 Linux /dev/vdb7 2035 3051 512536+ 83 Linux /dev/vdb8 3052 4068 512536+ 83 Linux /dev/vdb9 4069 5085 512536+ 83 Linux /dev/vdb10 5086 6102 512536+ 83 Linux /dev/vdb11 6103 7119 512536+ 83 Linux /dev/vdb12 7120 8136 512536+ 83 Linux [[email protected] ~]# pvcreate /dev/vdb5 /dev/vdb6 #创建物理卷 WARNING: software RAID md superblock detected on /dev/vdb5. Wipe it? [y/n]: y Wiping software RAID md superblock on /dev/vdb5. Physical volume "/dev/vdb5" successfully created WARNING: software RAID md superblock detected on /dev/vdb6. Wipe it? [y/n]: y Wiping software RAID md superblock on /dev/vdb6. Physical volume "/dev/vdb6" successfully created [[email protected] ~]# pvdisplay #查看信息 "/dev/vdb5" is a new physical volume of "500.49 MiB" --- NEW Physical volume --- PV Name /dev/vdb5 VG Name PV Size 500.49 MiB Allocatable NO PE Size 0 Total PE 0 Free PE 0 Allocated PE 0 PV UUID ZJYYan-p21n-stId-FI1X-v0Y5-OpbM-4n2ao0 "/dev/vdb6" is a new physical volume of "500.52 MiB" --- NEW Physical volume --- PV Name /dev/vdb6 VG Name PV Size 500.52 MiB Allocatable NO PE Size 0 Total PE 0 Free PE 0 Allocated PE 0 PV UUID GF4F0H-xEA2-yX7m-Siss-cVBw-d8Mr-bhmBCZ [[email protected] ~]# vgcreate vgroup /dev/vdb5 /dev/vdb6 #创建卷组,并取名 Volume group "vgroup" successfully created [[email protected] ~]# vgdisplay vgroup #查看卷组信息 --- Volume group --- VG Name vgroup System ID Format lvm2 Metadata Areas 2 Metadata Sequence No 1 VG Access read/write VG Status resizable MAX LV 0 Cur LV 0 Open LV 0 Max PV 0 Cur PV 2 Act PV 2 VG Size 992.00 MiB PE Size 4.00 MiB Total PE 248 Alloc PE / Size 0 / 0 Free PE / Size 248 / 992.00 MiB VG UUID IUEkEt-0bsI-f9br-25Nc-qkLB-iJjd-evi0BD [[email protected] ~]# lvcreate -n mylv -L 500M vgroup #基于卷组创建逻辑卷 Logical volume "mylv" created. Cannot process volume group mylv [[email protected] ~]# lvdisplay #查看逻辑卷信息 --- Logical volume --- LV Path /dev/vgroup/mylv LV Name mylv VG Name vgroup LV UUID I3FcQQ-9Bk7-QU6s-KOi2-agQc-6BK9-HvpWGa LV Write Access read/write LV Creation host, time mylinux, 2017-04-17 15:49:34 +0800 LV Status available # open 0 LV Size 500.00 MiB Current LE 125 Segments 2 Allocation inherit Read ahead sectors auto - currently set to 256 Block device 253:0 [[email protected] ~]# vgs #查看vg信息 VG #PV #LV #SN Attr VSize VFree vgroup 2 1 0 wz--n- 992.00m 492.00m [[email protected] ~]# pvs #查看pv信息 PV VG Fmt Attr PSize PFree /dev/vdb5 vgroup lvm2 a--u 496.00m 0 /dev/vdb6 vgroup lvm2 a--u 496.00m 492.00m [[email protected] ~]# mkfs.ext4 /dev/vgroup/mylv #格式化逻辑卷 mke2fs 1.41.12 (17-May-2010) 文件系统标签= 操作系统:Linux 块大小=1024 (log=0) 分块大小=1024 (log=0) Stride=0 blocks, Stripe width=0 blocks 128016 inodes, 512000 blocks 25600 blocks (5.00%) reserved for the super user 第一个数据块=1 Maximum filesystem blocks=67633152 63 block groups 8192 blocks per group, 8192 fragments per group 2032 inodes per group Superblock backups stored on blocks: 8193, 24577, 40961, 57345, 73729, 204801, 221185, 401409 正在写入inode表: 完成 Creating journal (8192 blocks): 完成 Writing superblocks and filesystem accounting information: 完成 This filesystem will be automatically checked every 24 mounts or 180 days, whichever comes first. Use tune2fs -c or -i to override. [[email protected] ~]# mount /dev/vgroup/ /mnt/ #挂载使用 mount: you must specify the filesystem type [[email protected] ~]# mount /dev/vgroup/mylv /mnt/ [[email protected] ~]# cd /mnt/ [[email protected] mnt]# ls lost+found
- 删除逻辑卷
1、将逻辑卷使用的逻辑卷卸载,使用umount 2、逻辑卷删除,使用lvremove 3、删除卷组,使用vgremove 4、删除物理卷,使用pvremove |
- 拉伸逻辑卷
1、 先确定扩展的大小;并确保所属的卷组有足够的剩余空间 2、 扩展逻辑边界 |
[[email protected] home]# vgdisplay #查看卷组剩余容量 --- Volume group --- VG Name vgroup System ID Format lvm2 Metadata Areas 2 Metadata Sequence No 2 VG Access read/write VG Status resizable MAX LV 0 Cur LV 1 Open LV 1 Max PV 0 Cur PV 2 Act PV 2 VG Size 992.00 MiB PE Size 4.00 MiB Total PE 248 Alloc PE / Size 125 / 500.00 MiB Free PE / Size 123 / 492.00 MiB VG UUID IUEkEt-0bsI-f9br-25Nc-qkLB-iJjd-evi0BD [[email protected] home]# lvs #当前卷组大小 LV VG Attr LSize Pool Origin Data% Meta% Move Log Cpy%Sync Convert mylv vgroup -wi-ao---- 500.00m [[email protected] home]# lvextend -L +200M /dev/vgroup/mylv #扩展200M Size of logical volume vgroup/mylv changed from 500.00 MiB (125 extents) to 700.00 MiB (175 extents). Logical volume mylv successfully resized. [[email protected] home]# lvs #扩展后大小 LV VG Attr LSize Pool Origin Data% Meta% Move Log Cpy%Sync Convert mylv vgroup -wi-ao---- 700.00m [[email protected] home]# df -h Filesystem Size Used Avail Use% Mounted on /dev/vda1 20G 4.1G 15G 22% / /dev/mapper/vgroup-mylv 477M 2.3M 449M 1% /mnt [[email protected] home]# resize2fs /dev/vgroup/mylv #更新文件系统 resize2fs 1.41.12 (17-May-2010) Filesystem at /dev/vgroup/mylv is mounted on /mnt; on-line resizing required old desc_blocks = 2, new_desc_blocks = 3 Performing an on-line resize of /dev/vgroup/mylv to 716800 (1k) blocks. The filesystem on /dev/vgroup/mylv is now 716800 blocks long. [[email protected] home]# df -h #扩展后,文件系统的大小 Filesystem Size Used Avail Use% Mounted on /dev/vda1 20G 4.1G 15G 22% / /dev/mapper/vgroup-mylv 670M 2.6M 633M 1% /mnt
- 扩展卷组
1、 准备要添加的物理卷; 2、 扩展卷组,添加物理卷至卷组中 |
[[email protected] mnt]# pvcreate /dev/vdb7 #创建物理卷 WARNING: software RAID md superblock detected on /dev/vdb7. Wipe it? [y/n]: y Wiping software RAID md superblock on /dev/vdb7. Physical volume "/dev/vdb7" successfully created [[email protected] mnt]# pvs PV VG Fmt Attr PSize PFree /dev/vdb5 vgroup lvm2 a--u 496.00m 0 /dev/vdb6 vgroup lvm2 a--u 496.00m 292.00m /dev/vdb7 lvm2 ---- 500.52m 500.52m [[email protected] mnt]# vgextend vgroup /dev/vdb7 #添加至卷组 Volume group "vgroup" successfully extended [[email protected] mnt]# vgdisplay #显示当前卷组大小 --- Volume group --- VG Name vgroup System ID Format lvm2 Metadata Areas 3 Metadata Sequence No 4 VG Access read/write VG Status resizable MAX LV 0 Cur LV 1 Open LV 1 Max PV 0 Cur PV 3 Act PV 3 VG Size 1.45 GiB PE Size 4.00 MiB Total PE 372 Alloc PE / Size 175 / 700.00 MiB Free PE / Size 197 / 788.00 MiB VG UUID IUEkEt-0bsI-f9br-25Nc-qkLB-iJjd-evi0BD
- 缩小逻辑卷
1、 卸载卷,并执行强制检测,逻辑卷的缩小必须离线执行 2、 缩减逻辑边界 缩小逻辑卷是危险操作,一般不要对逻辑卷进行缩小操作 |
[[email protected] home]# umount /mnt/ #卸载文件系统 [[email protected] home]# lvs LV VG Attr LSize Pool Origin Data% Meta% Move Log Cpy%Sync Convert mylv vgroup -wi-a----- 700.00m [[email protected] home]# resize2fs /dev/vgroup/mylv 500M #减小文件系统大小 resize2fs 1.41.12 (17-May-2010) 请先运行 ‘e2fsck -f /dev/vgroup/mylv‘. [[email protected] home]# e2fsck -f /dev//vgroup/mylv #检查文件系统 e2fsck 1.41.12 (17-May-2010) 第一步: 检查inode,块,和大小 第二步: 检查目录结构 第3步: 检查目录连接性 Pass 4: Checking reference counts 第5步: 检查簇概要信息 /dev//vgroup/mylv: 12/178816 files (0.0% non-contiguous), 33325/716800 blocks [[email protected] home]# resize2fs /dev/vgroup/mylv 500M resize2fs 1.41.12 (17-May-2010) Resizing the filesystem on /dev/vgroup/mylv to 512000 (1k) blocks. The filesystem on /dev/vgroup/mylv is now 512000 blocks long. [[email protected] home]# lvreduce -L -200M /dev/vgroup/mylv #减小逻辑卷大小 WARNING: Reducing active logical volume to 500.00 MiB. THIS MAY DESTROY YOUR DATA (filesystem etc.) Do you really want to reduce vgroup/mylv? [y/n]: y Size of logical volume vgroup/mylv changed from 700.00 MiB (175 extents) to 500.00 MiB (125 extents). Logical volume mylv successfully resized. [[email protected] home]# lvs #缩减之后的大小 LV VG Attr LSize Pool Origin Data% Meta% Move Log Cpy%Sync Convert mylv vgroup -wi-a----- 500.00m
- 缩小卷组
卷组: 1、 确定要移除的物理卷的总空间大小,要小于 VG 当前的可用空间大小; 2、 将要移除的物理卷上的所有 PE 移动至其它 PV 3、 缩减 vg |
[[email protected] home]# pvs #查看当前pv PV VG Fmt Attr PSize PFree /dev/vdb5 vgroup lvm2 a--u 496.00m 0 /dev/vdb6 vgroup lvm2 a--u 496.00m 492.00m /dev/vdb7 vgroup lvm2 a--u 496.00m 496.00m [[email protected] home]# pvmove /dev/vdb6 #移出vdb6上的pe /dev/vdb6: Moved: 0.0% /dev/vdb6: Moved: 100.0% [[email protected] home]# pvs PV VG Fmt Attr PSize PFree /dev/vdb5 vgroup lvm2 a--u 496.00m 0 /dev/vdb6 vgroup lvm2 a--u 496.00m 496.00m /dev/vdb7 vgroup lvm2 a--u 496.00m 492.00m [[email protected] home]# vgreduce vgroup /dev/vdb6 #从指定卷组上移除一个pv Removed "/dev/vdb6" from volume group "vgroup" [[email protected] home]# vgdisplay --- Volume group --- VG Name vgroup System ID Format lvm2 Metadata Areas 2 Metadata Sequence No 9 VG Access read/write VG Status resizable MAX LV 0 Cur LV 1 Open LV 0 Max PV 0 Cur PV 2 Act PV 2 VG Size 992.00 MiB PE Size 4.00 MiB Total PE 248 Alloc PE / Size 125 / 500.00 MiB Free PE / Size 123 / 492.00 MiB VG UUID IUEkEt-0bsI-f9br-25Nc-qkLB-iJjd-evi0BD [[email protected] home]# pvremove /dev/vdb6 #删除pv Labels on physical volume "/dev/vdb6" successfully wiped [[email protected] home]# pvs PV VG Fmt Attr PSize PFree /dev/vdb5 vgroup lvm2 a--u 496.00m 0 /dev/vdb7 vgroup lvm2 a--u 496.00m 492.00m
4.4、快照卷
快照卷是逻辑卷的一种,快照就是将当时的系统资讯记录下来,就好像照相记录一般!未来若有
任何数据更动了,则原始数据会被搬移到快照区,没有被更动的区域则由快照区与文件系统共享。
快照卷属性要求:
1、生命周期为整个数据时长;在这段时长内,数据的增长量不能超出快照卷大小;
2、快照卷应该是只读的;
3、跟原卷在同一卷组内。
快照卷命令:
lvcreate -s -L SIZE -n SLV_NAME -p r /PATH/TO/LV
-s :创建快照卷
-p r:限制为只读访问
快照卷是对某逻辑卷进行的,因此必须跟目标逻辑卷在同一个卷组中;无须指明卷组。
[[email protected] mnt]# mount /dev/vgroup/mylv /mnt/lvm [[email protected] mnt]# cd lvm [[email protected] lvm]# cp /etc/fstab . [[email protected] lvm]# cp /etc/passwd . [[email protected] lvm]# ls #原逻辑卷中的文件 fstab lost+found passwd [[email protected] lvm]# lvcreate -s -L 200M -n snap_lvm -p r /dev/vgroup/mylv #创建快照卷 Logical volume "snap_lvm" created. [[email protected] lvm]# mount /dev/vgroup/snap_lvm /mnt/lvm_back/ #挂载 mount: block device /dev/mapper/vgroup-snap_lvm is write-protected, mounting read-only [[email protected] mnt]# cd /mnt/lvm #查看快照卷中的文件 [[email protected] lvm]# ls fstab lost+found passwd [[email protected] lvm]# cd /mnt/lvm #原逻辑卷中操作 [[email protected] lvm]# cp /etc/gr group group- grub.conf [[email protected] lvm]# cp /etc/grub.conf . [[email protected] lvm]# ls /mnt/lvm fstab grub.conf lost+found passwd [[email protected] lvm]# ls /mnt/lvm_back/ #快照卷中不产生新增的文件 fstab lost+found passwd [[email protected] mnt]# cd lvm_back/ [[email protected] lvm_back]# tar -cvj -f /backups/lvm.tar.bz2 * #备份快照卷中的文件 fstab lost+found/ passwd [[email protected] lvm_back]# cd .. [[email protected] mnt]# umount /mnt/lvm_back/ #卸载快照卷 [[email protected] mnt]# lvremove /dev/vgroup/snap_lvm #删除快照卷 Do you really want to remove active logical volume snap_lvm? [y/n]: y Logical volume "snap_lvm" successfully removed [[email protected] mnt]# umount /mnt/lvm #卸载原逻辑卷 [[email protected] mnt]# lvremove /dev/vgroup/mylv #删除逻辑卷,文件丢失 Do you really want to remove active logical volume mylv? [y/n]: y Logical volume "mylv" successfully removed [[email protected] mnt]# lvcreate -n mylv -L 500M vgroup #创建逻辑卷 Logical volume "mylv" created. [[email protected] mnt]# mkfs mkfs mkfs.ext2 mkfs.ext4 mkfs.cramfs mkfs.ext3 mkfs.ext4dev [[email protected] mnt]# mkfs.ext4 mkfs.ext4 mkfs.ext4dev [[email protected] mnt]# mkfs.ext4 /dev/vgroup/mylv mke2fs 1.41.12 (17-May-2010) 文件系统标签= 操作系统:Linux 块大小=1024 (log=0) 分块大小=1024 (log=0) Stride=0 blocks, Stripe width=0 blocks 128016 inodes, 512000 blocks 25600 blocks (5.00%) reserved for the super user 第一个数据块=1 Maximum filesystem blocks=67633152 63 block groups 8192 blocks per group, 8192 fragments per group 2032 inodes per group Superblock backups stored on blocks: 8193, 24577, 40961, 57345, 73729, 204801, 221185, 401409 正在写入inode表: 完成 Creating journal (8192 blocks): 完成 Writing superblocks and filesystem accounting information: 完成 This filesystem will be automatically checked every 39 mounts or 180 days, whichever comes first. Use tune2fs -c or -i to override. [[email protected] mnt]# mount /dev/vgroup/mylv /mnt/lvm #挂载 [[email protected]linux mnt]# tar -xjv -f /backups/lvm.tar.bz2 -C /mnt/lvm #还原备份的文件 fstab lost+found/ passwd [[email protected] mnt]# cd /mnt/lvm [[email protected] lvm]# ls fstab lost+found passwd