18.文件系统——扩展、缩减卷组和逻辑卷以及创建快照卷、移除卷

一、扩展卷组

扩展卷组相对简单,只需要添加一个物理卷即可,使用的命令是vgextend其格式为:

vgextend VG_NAME /PATH/TO/PV

下面来演示一下扩展卷组的过程:

1. 首先准备一块id号位8e的分区,具体过程见前文。

[[email protected] ~]# fdisk/dev/sdc

WARNING: DOS-compatible mode is deprecated. It‘s stronglyrecommended to
         switch offthe mode (command ‘c‘) and change display units to
         sectors(command ‘u‘).
Command (m for help): p
Disk /dev/sdc: 10.7 GB, 10737418240 bytes
255 heads, 63 sectors/track, 1305 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0xb8ee6343
   Device Boot      Start         End      Blocks  Id  System
/dev/sdc1              1         654     5253223+ 8e  Linux LVM
/dev/sdc2             655         786    1060290   fd  Linux raid autodetect
/dev/sdc3            787         918     1060290  8e  Linux LVM
/dev/sdc4            919        1305     3108577+  5  Extended
/dev/sdc5            919        1050     1060258+ 8e  Linux LVM
# 选择/dev/sdc5作为物理卷
/dev/sdc6           1051        1182     1060258+ 83  Linux
/dev/sdc7           1183        1305      987966  83  Linux

[[email protected] ~]# vgs

# 查看当前的卷组信息
  VG       #PV #LV #SN Attr   VSize VFree
  VolGroup   1  2   0 wz--n- 24.51g    0
  testvg     2  1   0 wz--n-  2.02g 1.02g

2. 为卷组添加物理卷

[[email protected] ~]# vgextendtestvg /dev/sdc5

No physical volumelabel read from /dev/sdc5
  Physical volume/dev/sdc5 not found
  Physical volume"/dev/sdc5" successfully created
  Volume group"testvg" successfully extended
# 提示卷组扩展成功

[[email protected] ~]# vgs

VG       #PV #LV #SN Attr   VSize VFree
  VolGroup   1  2   0 wz--n- 24.51g    0
  testvg     3  1   0 wz--n-  3.02g 2.02g
# 当前卷组的大小多了1G

到这里VG的扩展就完成了。

VG的扩展不会影响LV的使用,现在我们可以查看一下以前LV中存放的文件:

[[email protected] ~]# cat/mnt/fstab

# /etc/fstab
# Created by anaconda on Wed Jul  9 21:21:40 2014
#
# Accessible filesystems, by reference, are maintained under‘/dev/disk‘
# See man pages fstab(5), findfs(8), mount(8) and/orblkid(8) for more info
#
/dev/mapper/VolGroup-lv_root /                     ext4   defaults   1 1
UUID=d9512fb3-8dd6-4613-ae55-8e99ba0ef627 /boot   ext4  defaults    1 2
/dev/mapper/VolGroup-lv_swap swap                 swap  defaults   0 0
tmpfs                  /dev/shm                tmpfs   defaults  0 0
# LV中的文件可以照常访问

二、缩减卷组

缩减卷组的操作也很容易,要缩减之前,需要先确定要移除的PV,然后使用pvmove命令将此PV上的数据转移至其他的PV,最后使用命令vgreduce从卷组中移除此PV。

其中pvmove的基本使用格式为:

pvmove/Path/From/Where [/PATH/To/Where]

如果不指定要移到哪个物理卷上,则会自动分配。

命令 vgreduce的用法格式如下:

vgreduceVG_NAME PV_NAME

现在觉得testvg太大了,想要缩减其体积,可以进行以下操作:

1. 首先来查看一下当前卷组的物理卷构成情况

[[email protected] ~]# pvs

PV         VG       Fmt Attr PSize  PFree
  /dev/sda2  VolGroup lvm2 a--  24.51g   0
  /dev/sdc3  testvg  lvm2 a--   1.01g 8.00m
  /dev/sdc5  testvg  lvm2 a--   1.01g 1.01g
  /dev/sdd3  testvg  lvm2 a--   1.01g 1.01g
# 可以看到卷组testvg由三个物理卷构成

 2. 将要移除的物理卷上的数据转移到其他PV

[[email protected] ~]# pvmove/dev/sdc3

/dev/sdc3: Moved:1.2%
  /dev/sdc3: Moved:21.9%
  /dev/sdc3: Moved:42.2%
  /dev/sdc3: Moved:62.5%
  /dev/sdc3: Moved:82.8%
  /dev/sdc3: Moved:100.0%

3. 使用命令vgreduce移除物理卷

[[email protected] ~]# vgreducetestvg /dev/sdc3

Removed"/dev/sdc3" from volume group "testvg"
# 提示移除了/dev/sdc3

[[email protected] ~]# vgs

VG       #PV #LV #SN Attr   VSize VFree
  VolGroup   1  2   0 wz--n- 24.51g    0
  testvg     2  1   0 wz--n-  2.02g 1.02g
# 再次查看VG,可以发现它又还原成2G了

[[email protected] ~]# pvremove/dev/sdc3

  Labels on physicalvolume "/dev/sdc3" successfully wiped
 # 当完成了移除工作后,就可以删除这个PV了

 

注意,移除物理卷和删除物理卷的是两种不同的操作,vgreduce是从指定卷组中移除物理卷,pvremove是将某一个物理卷从当前系统的可用物理卷列表中删除

[[email protected] ~]# pvs

PV         VG       Fmt Attr PSize  PFree
  /dev/sda2  VolGroup lvm2 a--  24.51g   0
  /dev/sdc5  testvg  lvm2 a--   1.01g 1.01g
  /dev/sdd3  testvg  lvm2 a--   1.01g 8.00m
# 删除了物理卷/dev/sdc3之后,将不会再物理卷列表中显示该物理卷

 

注意,尽管缩减VG非常容易,但切记在移除物理卷之前,一定要将该物理卷上的数据移动到同一卷组中的其他物理卷上

三、扩展逻辑卷

所谓扩展逻辑卷,其实就是给现有的逻辑卷分配一些新的物理盘区(PE),而分配新PE就意味着为该逻辑卷扩展其物理边界,但是尽管物理边界扩展了,其逻辑边界不会自动扩展,故需要手动扩展。注意,扩展逻辑卷的顺序为先扩展物理边界,再扩展逻辑边界;而缩小逻辑卷的顺序与之相反。

扩展逻辑卷的主要步骤可以概括为:

1.确定要扩展多大

2.确定当前逻辑卷所在的卷组有足够的空间可用

3.扩展逻辑卷

i.         先扩展物理边界

和扩展卷组的方式向类似,使用命令lvextend来进行扩展,其基本格式为:

lvextend -L [+]SIZE /Path/To/LV

注意,这里的加号+是可选的,但是否使用加号表示的意义是不同的

带上加号+表示表示扩展多大

不带加号表示表示扩展多大

ii.       再扩展逻辑边界

扩展逻辑边界使用的命令是resize2fs,其基本格式为:

resize2fs /Path/To/Device

该命令会自动将要扩展的LV的逻辑边界扩展到其物理边界

下面来演示扩展逻辑卷的具体操作过程:

1. 确定要扩展多大

[[email protected] ~]# lvs

# 查看逻辑卷的大小,现在想将mylv的大小扩展为2G
  LV      VG      Attr       LSize  Pool Origin Data%  Move Log Cpy%Sync Convert
  lv_root VolGroup-wi-ao---- 22.54g                                             
  lv_swap VolGroup-wi-ao----  1.97g                                            
  mylv    testvg  -wi-ao----  1.00g

2. 确定当前逻辑卷所在的卷组有足够的空间可用

现在想扩展逻辑卷mylv,但是在扩展之前,需要确定是卷组中是否有足够的空间,故可以查看卷组的大小:

[[email protected] ~]# vgs

VG       #PV #LV #SN Attr   VSize VFree
  VolGroup   1  2   0 wz--n- 24.51g    0
  testvg     2  1   0 wz--n-  2.02g 1.02g
# 可以看到卷组testvg的总大小为2G,空闲空间为1.02G,可以提供足够的空间让mylv进行扩展

3. 扩展逻辑卷

[[email protected] ~]# lvextend -L+1G /dev/testvg/mylv

# 这里也可以写成 lvextend -L 2G /dev/testvg/mylv 
 Extending logicalvolume mylv to 2.00 GiB
  Logical volume mylvsuccessfully resized
# 提示成功扩展逻辑卷mylv

虽然提示成功扩展了逻辑卷,但该逻辑卷的可用空间是否真的已经达到2G了呢?可以使用df命令来查看一下:

[[email protected] ~]# df -lh

Filesystem                   Size  Used Avail Use% Mounted on
/dev/mapper/VolGroup-lv_root   23G 4.6G   17G  22% /
tmpfs                        499M  112K  499M  1% /dev/shm
/dev/sda1                    485M   35M  426M  8% /boot
/dev/sdb3                    9.9G   36M  9.7G  1% /mydata
/dev/mapper/testvg-mylv     1008M   34M  924M  4% /mnt
# 这里发现逻辑卷mylv的可用空间仍然为1G

之所以mylv的可用空间仍为1G,是因为之前扩展的只是物理边界,所以使用resize2fs来对其逻辑边界进行扩展:

[[email protected] ~]# resize2fs/dev/testvg/mylv

resize2fs 1.41.12 (17-May-2010)
Filesystem at /dev/testvg/mylv is mounted on /mnt; on-lineresizing required
old desc_blocks = 1, new_desc_blocks = 1
Performing an on-line resize of /dev/testvg/mylv to 524288(4k) blocks.
The filesystem on /dev/testvg/mylv is now 524288 blockslong.
# 提示在线扩展逻辑卷到524288个块

现在再使用df命令来查看一下mylv的可用空间:

[[email protected] ~]# df -lh

Filesystem                   Size  Used Avail Use% Mounted on
/dev/mapper/VolGroup-lv_root   23G 4.6G   17G  22% /
tmpfs                        499M  112K  499M  1% /dev/shm
/dev/sda1                    485M   35M  426M  8% /boot
/dev/sdb3                     9.9G   36M 9.7G   1% /mydata
/dev/mapper/testvg-mylv      2.0G   34M  1.9G  2% /mnt
# 现在mylv的可用空间是2G了

[[email protected] ~]# cat/mnt/fstab

# /etc/fstab
# Created by anaconda on Wed Jul  9 21:21:40 2014
#
# Accessible filesystems, by reference, are maintained under‘/dev/disk‘
# See man pages fstab(5), findfs(8), mount(8) and/orblkid(8) for more info
#
/dev/mapper/VolGroup-lv_root /                                         ext4   defaults      1 1
UUID=d9512fb3-8dd6-4613-ae55-8e99ba0ef627 /boot   ext4   defaults      1 2
/dev/mapper/VolGroup-lv_swap swap                 swap   defaults     0 0
# 在线扩展逻辑卷的大小,不会影响其正常使用

4 .文件系统检测

扩展LV可能会对文件系统造成损害,故最好在扩展完成了之后,对文件系统进行检测,对文件系统进行检测的命令为fscke2fsck。其中fsck检测所有的文件系统,而e2fsck只检测ext2系列的文件系统。命令e2fsck使用的选项主要有:

-t指定要检测的文件系统类型

-a 与用户交互时自动回答为yes

-f 强行进行检测

-p自动修复

它的基本格式为:

e2fsck[-t FS_Type] [-f] [-p] /Path/to/device

现在对刚扩展过的逻辑卷mylv进行检测:

[[email protected] ~]# e2fsck/dev/testvg/mylv

e2fsck 1.41.12 (17-May-2010)
/dev/testvg/mylv is mounted.
e2fsck: Cannot continue, aborting.
# 这里提示逻辑卷被挂载了

 

要检测逻辑卷之前,需要先将其卸载,然后再进行检测:

[[email protected] ~]# umount /mnt

[[email protected] ~]# e2fsck/dev/testvg/mylv

e2fsck 1.41.12 (17-May-2010)
/dev/testvg/mylv: clean, 12/131072 files, 16813/524288blocks
# 这里提示逻辑卷mylv是clean的,说明该逻辑卷运作正常

四、逻辑卷的缩减

逻辑卷的缩减是有风险的,其主要步骤为:

1.确定缩减的大小:必须确保逻辑卷中存放的数据,不会超过缩减后的大小。如要将10G的逻辑卷缩减到5G,就必须确保该逻辑卷中现有数据的大小不超过5G。

2.缩减逻辑卷

i.         卸载并强行检测文件系统:因为缩减逻辑卷是非常有风险的操作,故必须先检测文件系统

e2fsck -f

注意,如果文件系统不是ext系列的,则需要使用其他工具

ii.       先缩减逻辑边界,它使用的命令格式为:

resize2fs /Path/to/Device SIZE

注意,扩展不需要指定大小,会自动扩展到物理边界,但是缩减必须指定大小

iii.     再缩减物理边界,它使用的命令是:

lvreduce-L [-]SIZE /Path/To/LV

和加号类似,带不带减号意义会有所不同;

带上减号-表示表示缩减多大

不带减号-表示表示缩减多大

下面来演示缩减逻辑卷mvlv到1G的具体操作过程:

1.卸载逻辑卷

[[email protected] ~]# umount /mnt

[[email protected] ~]# mount

/dev/mapper/VolGroup-lv_root on / type ext4 (rw)
proc on /proc type proc (rw)
sysfs on /sys type sysfs (rw)
devpts on /dev/pts type devpts (rw,gid=5,mode=620)
tmpfs on /dev/shm type tmpfs(rw,rootcontext="system_u:object_r:tmpfs_t:s0")
/dev/sda1 on /boot type ext4 (rw)
/dev/sdb3 on /mydata type ext4 (rw,noatime)
none on /proc/sys/fs/binfmt_misc type binfmt_misc (rw)
# 不论是否挂载了,都使用umont命令以确保卸载了设备

 

2.强行检测

[[email protected] ~]# e2fsck -f/dev/testvg/mylv

e2fsck 1.41.12 (17-May-2010)
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/testvg/mylv: 12/131072 files (0.0% non-contiguous),16813/524288 blocks

3.缩减逻辑边界

[[email protected] ~]# resize2fs/dev/testvg/mylv 1G

# 缩减逻辑卷需要明确指定大小
resize2fs 1.41.12 (17-May-2010)
Resizing the filesystem on /dev/testvg/mylv to 262144 (4k)blocks.
The filesystem on /dev/testvg/mylv is now 262144 blockslong.

4.缩减物理边界

[[email protected] ~]# lvreduce -L1G /dev/testvg/mylv

WARNING: Reducingactive logical volume to 1.00 GiB
  THIS MAY DESTROYYOUR DATA (filesystem etc.)
Do you really want to reduce mylv? [y/n]: y
# 缩减有风险,操作需谨慎
  Reducing logicalvolume mylv to 1.00 GiB
  Logical volume mylvsuccessfully resized

5.再次检测

[[email protected] ~]# e2fsck -f/dev/testvg/mylv

e2fsck 1.41.12 (17-May-2010)
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/testvg/mylv: 12/65536 files (0.0% non-contiguous),12636/262144 blocks

6.重新挂载设备

[[email protected] ~]# mount/dev/testvg/mylv /mnt

[[email protected] ~]# cd /mnt

[[email protected] mnt]# ls

fstab  lost+found

[[email protected] mnt]# cat fstab

# /etc/fstab
# Created by anaconda on Wed Jul  9 21:21:40 2014
# Accessible filesystems, by reference, are maintained under‘/dev/disk‘
# See man pages fstab(5), findfs(8), mount(8) and/orblkid(8) for more info
/dev/mapper/VolGroup-lv_root /                    ext4    defaults    1 1
UUID=d9512fb3-8dd6-4613-ae55-8e99ba0ef627 /boot  ext4   defaults     1 2
/dev/mapper/VolGroup-lv_swap swap                swap   defaults    0 0
tmpfs                  /dev/shm               tmpfs   defaults    0 0
# 逻辑卷中原来存放的文件可以正常访问

[[email protected] mnt]# df -lh

Filesystem                    Size Used Avail Use% Mounted on
/dev/mapper/VolGroup-lv_root   23G 4.6G   17G  22% /
tmpfs                        499M  112K  499M  1% /dev/shm
/dev/sda1                    485M   35M  426M  8% /boot
/dev/sdb3                    9.9G   36M  9.7G  1% /mydata
/dev/mapper/testvg-mylv     1008M   34M  924M  4% /mnt
# 逻辑卷mylv的大小已经缩减到1G了

       至此,缩减逻辑卷的操作就完成了,可以看到,不论是扩展还是缩减逻辑卷,都不会影响其中的文件的正常使用。

五、创建快照卷

前文中提到过,快照卷具有文本备份的功能。创建快照卷的基本操作和创建逻辑卷很类似,只不过在使用lvcreate命令的时候使用-s(表示snapshot)选项,并且创建快照卷不需要指定卷组,因为创建快照卷必然是针对某个逻辑卷进行的操作,故快照卷一定和原卷在同一个原卷中。

注意不应该对快照卷中的文件进行修改(写入操作),因为快照卷只是原卷的一个访问通道,因此在创建快照卷时使用-p选项,将其限定为只读访问。故创建快照卷的基本格式为:

lvcreate-L SIZE -s -p -n LV_NAME /Path/to/LV

现在演示创建快照卷的过程:

[[email protected] mnt]# cp/etc/inittab ./

[[email protected] mnt]# ls

fstab  inittab  lost+found
# 先复制一个文件到要创建快照卷的逻辑卷中以备使用

1.预估快照卷的大小

假设现在这个快照卷只在2个小时中使用,而两个小时里的数据变化量不会超过50MB,所以可以将快照卷的大小设定为50MB。

2.创建快照卷

[[email protected] ~]# lvcreate -L50M -s -p r -n mylv-snap /dev/testvg/mylv

# 创建一个50MB的快照卷
# 其访问权限为只读
# 该快照卷的卷名为mylv-snap
# 该快照卷是针对/dev/testvg/mylv创建的 
Rounding up size to full physical extent 52.00 MiB
  Logical volume"mylv-snap" created

[[email protected] ~]# ls/dev/testvg

mylv  mylv-snap

[[email protected] ~]# lvs

LV        VG      Attr       LSize  Pool Origin Data%  Move Log Cpy%Sync Convert
  lv_root   VolGroup -wi-ao---- 22.54g                                            
  lv_swap   VolGroup -wi-ao----  1.97g                                            
  mylv      testvg  owi-aos---  1.00g                                            
  mylv-snaptestvg   sri-a-s--- 52.00m      mylv    0.02
# 原卷中的数据占快照卷的0.02%

3.挂载使用快照卷

[[email protected] ~]# mount -o ro/dev/testvg/mylv-snap /media

# 
由于快照卷是只读的,故以只读方式将该快照卷挂载到
/media
下

[[email protected] ~]# cd /media

[[email protected] media]# ls

fstab  inittab  lost+found
# 它和/mnt下(原卷)中的文件是一样的

[[email protected] media]# mount

/dev/mapper/VolGroup-lv_root on / type ext4 (rw)
proc on /proc type proc (rw)
sysfs on /sys type sysfs (rw)
devpts on /dev/pts type devpts (rw,gid=5,mode=620)
tmpfs on /dev/shm type tmpfs (rw,rootcontext="system_u:object_r:tmpfs_t:s0")
/dev/sda1 on /boot type ext4 (rw)
/dev/sdb3 on /mydata type ext4 (rw,noatime)
none on /proc/sys/fs/binfmt_misc type binfmt_misc (rw)
/dev/mapper/testvg-mylv on /mnt type ext4 (rw)
/dev/mapper/testvg-mylv--snap on /media type ext4 (ro)

[[email protected] media]# catinittab

# inittab is only used by upstart for the default runlevel.
# ADDING OTHER CONFIGURATION HERE WILL HAVE NO EFFECT ONYOUR SYSTEM.
# System initialization is started by /etc/init/rcS.conf
# Individual runlevels are started by /etc/init/rc.conf
# Ctrl-Alt-Delete is handled by/etc/init/control-alt-delete.conf
# Terminal gettys are handled by /etc/init/tty.conf and/etc/init/serial.conf,
# with configuration in /etc/sysconfig/init.
# For information on how to write upstart event handlers, orhow
# upstart works, see init(5), init(8), and initctl(8).
# Default runlevel. The runlevels used are:
#   0 - halt (Do NOTset initdefault to this)
#   1 - Single usermode
#   2 - Multiuser,without NFS (The same as 3, if you do not have networking)
#   3 - Full multiusermode
#   4 - unused
#   5 - X11
#   6 - reboot (Do NOTset initdefault to this)
id:5:initdefault:

现在修改原卷/mnt中的inittab:

[[email protected] ~]# cd /mnt

[[email protected] mnt]# viminittab

# inittab is only used by upstart for the default runlevel.
# ADDING OTHER CONFIGURATION HERE WILL HAVE NO EFFECT ONYOUR SYSTEM.
# System initialization is started by /etc/init/rcS.conf
# Individual runlevels are started by /etc/init/rc.conf
# Ctrl-Alt-Delete is handled by/etc/init/control-alt-delete.conf
# Terminal gettys are handled by /etc/init/tty.conf and/etc/init/serial.conf,
# with configuration in /etc/sysconfig/init.
# For information on how to write upstart event handlers, orhow
# upstart works, see init(5), init(8), and initctl(8).
# Default runlevel. The runlevels used are:
#   0 - halt (Do NOTset initdefault to this)
#   1 - Single usermode
#   2 - Multiuser,without NFS (The same as 3, if you do not have networking)
#   3 - Full multiusermode
#   4 - unused
#   5 - X11
#   6 - reboot (Do NOTset initdefault to this)
id:5:initdefault:
New Line
# 新增了一行 New Line

这时再查看快照卷中的/media/inittab:

[[email protected] mnt]# cat/media/inittab

# inittab is only used by upstart for the default runlevel.
# ADDING OTHER CONFIGURATION HERE WILL HAVE NO EFFECT ONYOUR SYSTEM.
# System initialization is started by /etc/init/rcS.conf
# Individual runlevels are started by /etc/init/rc.conf
# Ctrl-Alt-Delete is handled by/etc/init/control-alt-delete.conf
# Terminal gettys are handled by /etc/init/tty.conf and/etc/init/serial.conf,
# with configuration in /etc/sysconfig/init.
# For information on how to write upstart event handlers, orhow
# upstart works, see init(5), init(8), and initctl(8).
# Default runlevel. The runlevels used are:
#   0 - halt (Do NOTset initdefault to this)
#   1 - Single usermode
#   2 - Multiuser,without NFS (The same as 3, if you do not have networking)
#   3 - Full multiusermode
#   4 - unused
#   5 - X11
#   6 - reboot (Do NOTset initdefault to this)
id:5:initdefault:
# 并没有新增的那一行

现在再复制一个文件到/mnt下:

[[email protected] mnt]# cp/etc/rc.d/init.d/functions ./

[[email protected] mnt]# ls

fstab  functions  inittab lost+found
# 在/mnt下可以看到刚刚复制过来的文件

 

再来查看一下快照卷中的情况:

[[email protected] ~]# cd /media

[[email protected] media]# ls

fstab  inittab  lost+found
# 快照卷中并没有刚才复制到原卷中的functions文件

由此可以确定快照卷一定是访问的过去某个时间点的文件,其作用是对某个时间点的文件进行备份,当备份使用完成后,就可以将其删除了,故可以将刚才的快照卷进行备份:

[[email protected] media]# tar Jcf/tmp/backup.tar.xz /media/{fstab,inittab}

tar: Removing leading `/‘ from member names

这里只是备份的某一个时刻的数据,如果在该时刻之后数据又发生了修改,则不会备份之后的数据,以后进行数据恢复,也只能恢复到该时刻的状态。如果要备份此后发生改变的数据,则需要用到其他的手段了。

如果使用的是RAID1来备份数据,仍然需要备份数据,因为RAID1只是在某一块盘坏掉的时候仍保证提供服务,即只是保证不会因为硬件损坏而导致数据丢失,并不能代替数据备份。

[[email protected] media]# ls /tmp

backup.tar.xz  keyring-r5HZ7n  keyring-xva5ss  pulse-uP5T8Y6V6nIN  virtual-root.qTocN3
# 已经可以看到备份的快照卷了
keyring-bgxXAq keyring-Xi9NCS  orbit-gdm       pulse-yCmeAwocSW1U  virtual-root.U25Mim

[[email protected] media]# cd

[[email protected] ~]# umount/media

 

卸载快照卷之后,就可以移除逻辑卷了

 

六、移除逻辑卷、快照卷、卷组和物理卷

移除逻辑卷和快照卷的方法一样,只要确定某个逻辑卷或快照卷已经没有用了,并且确定该逻辑卷或快照卷已经被卸载了,就可以将其移除。它使用的命令是格式为:

lvremove Path/To/LV_NAME

现在移除快照卷mylv-snap:

[[email protected] ~]# lvremove/dev/testvg/mylv-snap

Do you really want to remove active logical volumemylv-snap? [y/n]: y
# 移除任何一种卷都是有风险的操作,都会有相应的警告信息
Logical volume "mylv-snap" successfully removed

[[email protected] ~]# lvs

LV      VG      Attr   LSize  Pool Origin Data%  Move Log Cpy%Sync Convert
  lv_root VolGroup-wi-ao---- 22.54g                                            
  lv_swap VolGroup-wi-ao----  1.97g                                            
  mylv    testvg  -wi-ao----  1.00g
# 已经没有mylv-snap的信息了

现在移除逻辑卷mvlv:

[[email protected] ~]# umount /mnt

# 要移除逻辑卷之前,必须先卸载逻辑卷
umount: /mnt: device is busy.
        (In some casesuseful info about processes that use
         the device isfound by lsof(8) or fuser(1))
# 由于逻辑卷正在被访问,故无法卸载

 

[[email protected] ~]# fuser -v/mnt

USER        PIDACCESS      COMMAND
/mnt:               root       9445 ..c.. Bash
# 查看正在访问逻辑卷的用户

 

[[email protected] ~]# fuser -km/mnt

/mnt:                9445c
# 强制剔除用户

[[email protected] ~]# umount /mnt

# 成功卸载设备


[[email protected] ~]# lvremove/dev/testvg/mylv

Do you really want to remove active logical volume mylv?[y/n]: y
  Logical volume"mylv" successfully removed
# 成功移除逻辑卷mylv

[[email protected] ~]# lvs

LV    VG      Attr   LSize  Pool Origin Data%  Move Log Cpy%Sync Convert
  lv_root VolGroup-wi-ao---- 22.54g                                            
  lv_swap VolGroup-wi-ao---- 1.97g 
# 已经没有逻辑卷mylv的信息了

移除了逻辑卷之后,就可以移除卷组了,移除卷组使用的命令格式为:

vgremoveVG_NAME

下面移除卷组testvg:

[[email protected] ~]# vgremovetestvg

 Volume group"testvg" successfully removed

 

[[email protected] ~]# vgs

VG       #PV #LV #SN Attr   VSize VFree
  VolGroup   1  2   0 wz--n- 24.51g    0
# 卷组testvg已经被移除了,这里看不到testvg的相关信息了

 虽然卷组已经移除了,但是物理卷仍然保留:

[[email protected] ~]# pvs

PV         VG       Fmt Attr PSize  PFree
  /dev/sda2  VolGroup lvm2 a--  24.51g   0
  /dev/sdc5           lvm2 a--   1.01g 1.01g
  /dev/sdd3           lvm2 a--   1.01g 1.01g

移除物理卷的方法也很简单,其命令为:

Pvremove/Path/To/Device

现在来移除用来创建逻辑卷的两个设备/dev/sdd3和/dev/sdc5:

[[email protected] ~]# pvremove/dev/sdc5

 Labels on physicalvolume "/dev/sdc5" successfully wiped

[[email protected] ~]# pvremove/dev/sdd3

Labels on physical volume"/dev/sdd3" successfully wiped

[[email protected] ~]# pvs

PV         VG       Fmt Attr PSize  PFree
  /dev/sda2  VolGroup lvm2 a--  24.51g   0
# 成功移除物理卷,系统恢复到初始状态

18.文件系统——扩展、缩减卷组和逻辑卷以及创建快照卷、移除卷,布布扣,bubuko.com

时间: 2024-10-02 18:17:15

18.文件系统——扩展、缩减卷组和逻辑卷以及创建快照卷、移除卷的相关文章

GNU/Linux下LVM配置管理以及快照卷、物理卷、卷组、逻辑卷的创建和删除

LVM是Linux环境中对磁盘分区进行管理的一种机制,是建立在硬盘和分区之上.文件系统之下的一个逻辑层,可提高磁盘分区管理的灵活性.最大的优点是在不损伤数据的前提下调整存储空间的大小. 本篇主要讲述LVM的创建.LVM的扩展与缩减和快照卷的使用三部分 第一部分:LVM的创建 LVM创建的大致步骤为 1.将多个分区转化为多个物理卷PV(Physical Vomule)    一个分区可以创建一个物理卷,可以在多块磁盘上创建物理卷.也可以做raid10磁盘阵列以后在做物理卷, 以    便有更快的读

第六章 Linux物理卷、卷组、逻辑卷和磁盘配额

实验要求: n 采用LVM磁盘管理方案 (1) 在虚拟机环境中,新添加两块SCSI硬盘设备,完成硬盘检测及分区. (2) 建立逻辑卷mbox,格式化为Ext4文件系统,挂载到/mailbox目录下 n 设置并启用磁盘配额 (1) 为挂载到/mailbox目录的文件系统启用配置支持 (2) 限制用户Jerry最多只能使用500MB的磁盘空间 (3) 限制accp组的用户合计最多只能使用4GB磁盘空间 1)查看硬盘 2)将磁盘制作分区. 3)将另外的磁盘同样执行以上步骤 4)制作物理卷 5)制作眷组

创建磁盘分区,创建逻辑卷组。

1.1 查看新增磁盘fdisk -l 1.2 首先从空的硬盘sdb上创建一个分区sdb1. 为接下来做LVM做准备.[[email protected]_11_3_centos ~]# fdisk /dev/vdb 1.3 为了后期便于维护管理,记得给分区加上标示,这样即使你不在的情况下,别人看到标示了就不会轻易动这块区域了. LVM的标识是8e,设置完成后记得按w保存 1.4 创建逻辑卷将新创建的一个分区/dev/vdb1转化成物理卷,主要是添加LVM属性信息并划分PE存储单元. 1.5 创建

LVM逻辑卷管理--在线扩容、逻辑卷与卷组容量缩减、逻辑卷快照

LVM逻辑卷管理公司生产环境中使用了LVM逻辑卷管理,所以今天花时间整理一下.通过LVM技术整合所有的磁盘资源进行分区,然后创建PV物理卷形成一个资源池,再划分卷组,最后在卷组上创建不同的逻辑卷,继而初始化逻辑卷,挂载到系统中使用.LVM对比传统硬盘存储的优点1. 统一管理:整合多个磁盘或分区形成一个资源池2. 灵活性:可以使用不同磁盘.不同分区来组成一个逻辑卷3. 可伸缩性:逻辑卷和卷组的容量都可以使用命令来扩展或者缩减,且不会影响破坏原有数据,支持磁盘热插拔.4. 支持热插拔5. 支持在线数

RAID阵列与LVM逻辑卷组创建

一.Linux下RAID的创建 Linux下使用mdadm命令创建RAID 1.创建模式: -C:新建RAID卷 专用选项: -l:选择RAID级别 -n:硬盘设备个数 -a:自动为其创建设备文件,后跟yes.no -c:指定chunk(数据库)大小,为2的整数次方默认为64K -x:指定空闲盘个数--提供冗余,磁盘损坏后直接加载上去 例:创建raid0 madadm -C /dev/md0 -a yes -l 0 -n 2 /dev/sda{6,7} Mke2fs -j /dev/md0 Mo

使用cply移动jfs/jfs2文件系统从一个卷组到另一个卷组中

移动jfs/jfs2文件系统从一个卷组到另一个卷组中的目的是是当一个卷组中的空间越来越少,而另外一个卷组中的空间还比较有富余,我们可以把空间紧张中的卷组移动到空间较多的卷组中: [email protected]:/# uname -MLIBM,9131-52A 2 aix7001 [email protected]:/# lspvhdisk0          0007388ca583b447                    rootvg          active      hdi

物理卷操作命令:pvcreate,pvscan,pvdisplay.卷组操作命令:vgcreate,vgdisplay.

新硬盘创建LVM系统过程. 物理卷操作命令:pvcreate,pvscan,pvdisplay. 卷组操作命令:vgcreate,vgdisplay. 逻辑卷操作命令:lvcreate,lvdisplay. Linx卷管理详解 VG LV PV 作者:吴伟龙 一. 前言 每个Linux使用者在安装Linux时 都会遇到这样的困境:在为系统分区时,如何精确评估和分配各个硬盘分区的容量,因为系统管理员不但要考虑到当前某个分区需要的容量,还要预见该分区以后可能需要的容量的最大值.因为如果估计不准确,当

物理卷操作命令:pvcreate,pvscan,pvdisplay.卷组操作命令:vgcreate,vgdisplay. (转)

新硬盘创建LVM系统过程. 物理卷操作命令:pvcreate,pvscan,pvdisplay. 卷组操作命令:vgcreate,vgdisplay. 逻辑卷操作命令:lvcreate,lvdisplay. Linx卷管理详解 VG LV PV 作者:吴伟龙 一. 前言 每个Linux使用者在安装Linux时 都会遇到这样的困境:在为系统分区时,如何精确评估和分配各个硬盘分区的容量,因为系统管理员不但要考虑到当前某个分区需要的容量,还要预见该分区以后可能需要的容量的最大值.因为如果估计不准确,当

Linux下创建逻辑卷和增大逻辑卷的方法

第一步 给硬盘分区       fdisk /dev/sdb 第二步 修改硬盘的ID号为8e id默认为83       fdisk /dev/sdb       按t进入       输入分区表号       输入8e 第三步  创建pv 物理卷        pvcreate /dev/sdb1 查看pv  pvdisplay 第四步  创建vg 卷组        vgcreate 卷组的名字 /dev/sdb1 查看vg 卷组 vgdisplay 第五步  扩容卷组        先将分