四、RAID与LVM管理

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}: 是否自动为其创建设备文件
  -c: CHUNK 大小, 2^n, 默认为 64K

管理模式 --add, --remove, --fail

如: mdadm /dev/md# --fail /dev/sda7(模拟磁盘损坏)

监控模式 -F
增长模式 -G

装配模式 -A,重新识别此前实现的RAID

mdadm -S ( --stop) /dev/md# 停止阵列

mdadm -D ( --detail) /dev/md# 查看 RAID 详细信息
mdamd -D --scan > /etc/mdadm.conf 创建好raid后,须将raid信息保存在/etc/mdadm.conf文件     中,以便下次重启时,系统自动加载。

[[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
时间: 2024-10-28 21:19:50

四、RAID与LVM管理的相关文章

Linux Raid和LVM管理

1.磁盘管理 #提示没有partprobe yum -y install parted #新硬盘新建分区,并将类型改为Linux Raid autodetect #非交互方式,注意1与t之间有一个回车键 fdisk /dev/sde <fdisk.txt fdisk.txt: n p 1 1 t fd w #新建分区,注意1与w之间有一个回车键 fdisk /dev/sdf <fdisk1.txt fdisk.txt: n p 1 1 w q #将磁盘格式化为ext4文件系统 mkfs.ext

linux云自动化系统运维19(磁盘阵列raid,lvm管理)

软件能做的raid1.读取速度加倍,两块磁盘一起读取raid0.写  两块硬盘,一块写一半raid5:raid1+raid0  三块磁盘 mdadm -C /dev/md0 -a yes -l 1 -n 2 -x 1 /dev/vdb{1..3}-C:创建  -a :添加  -l:优先级  -n:使用的磁盘个数 -x:闲置磁盘个数(备用)mkfs.xfs /dev/md0             格式化 mount /dev/md0 /mnt/          挂载到/mnt/mdadm -D

四、Linux平台RAID和LVM管理

软raid的实现 mdadm -C:创建一个array. -A:装配 -F:监控 -D --detail:显示详细信息. major:主设备号,用于区别设备类别. minor:次设备号,用于区分同一种类别的不同设备. -C /dev/md# 指定创建的md名称. -a{yes|no}:是否为创建的raid设备自动创建设备文件/dev/md# -l:指定raid的级别. -n:指定用于raid的块设备的个数 -x:指定用于备盘的个数. -c:指定track大小. 创建文件系统: mke2fs -t

磁盘配额,RAID和LVM管理

一.磁盘配额 1.磁盘配额的作用??磁盘配额就限制用户在该目录中使用空间的大小和限制用户 上传文件的数量(也就是inode号).2.举例在创建磁盘配额时,需要关闭selinux [[email protected] ~]#vim /etc/selinux/config # This file controls the state of SELinux on the system. # SELINUX= can take one of these three values: # enforcing

linux基础学习-第十五天 磁盘管理(SWAP、dd、quota、RAID、LVM)

2016-08-26: 授课内容: 1.SWAP交换分区的创建 2.dd命令的使用 3.设定文件系统配额 4.设定和管理软RAID设备 5.配置逻辑卷 1.swap (1)SWAP分区:模拟内存,当物理内存不足时,进程需要内存资源是,内存会把一部分没有在用的进程分页挪到硬盘的模拟内存中,腾出空间被现在需要使用内存资源的进程 即其作用是可以允许内存过载使用,windows系统也有类似的机制,由于虚拟内存空间是建立在硬盘之上,所以其速度和性能会大打折扣,所以适合临时使用 (2)创建SWAP分区: 相

软Raid和lvm逻辑卷管理

RAID: Redundent Array of Inexpensive Disks 以前为了解决使用普通IDE硬盘,提高性能和冗余. RAID:Redundent Array of Independent Disks 现在的名称解释t RAID 属于md设备 multics device Level: 仅用于标识磁盘组合方式的不同 raid0, raid1, raid5, raid10, raid50,raid60 raid0: 至少需要两块磁盘,没有容错能力,读写性能都提升,100% rai

磁盘管理之基于软RAID的LVM

LVM即为逻辑卷管理是一种管理磁盘的工具使用此技术可以动态的扩展和缩小文件系统空间而不损坏其中数据同时它还具备快照功能实现文件的备份本文将介绍lvm创建逻辑卷,缩减逻辑卷以及利用快照功能实现频繁读写的文件系统的备份. 下图为其逻辑结构: PV:物理卷   PE:物理区域 VG:卷组 LV:逻辑卷 逻辑卷的创建可以是分区或是RAID 下面将以软RAID5方式详细介绍逻辑卷的创建过程 创建软raid5 首先创建分区 我们使用分区工具fdisk 设备为/dev/sdb 创建3个主分区分别为 /dev/

Linux系统下磁盘配额、软RAID及LVM的配置与管理

Linux系统下磁盘配额.软RAID及LVM的 配置与管理 一.设定文件系统配额 1.概述:配额是操作系统的一个可选的功能, 它允许管理员以文件系统为单元, 限制分派给用户或组成员所使用的磁盘空间大小或是使用的总文件数量.这经常被用于那些分时操作的系统上, 对于这些系统而言, 通常希望限制分派到每一个用户或组的资源总量, 从而可以防止某个用户占用所有可用的磁盘空间. 2.配置文件系统配额(基于用户): (1)配置配额前准备工作: 1)备份/home目录,创建分区,进行挂载,将/home目录下的数

Linux 第七周上课笔记系统分区管理,lvm管理

一.diff命令 difffile file1        ##比较两个文件的不同 -c                    ##显示周围的行 -u                    ##按照一个格式统一输出生成补丁 -r                    ##比较两个目录中文件的不同 patchfile file.path   ##打补丁 -b                    ##备份文件 二.grep过滤命令 grep关键字文件|目录##在文件或目录中查找含有关键字的行 -