逻辑卷管理

逻辑卷管理

创建逻辑卷

准备分区或硬盘

这里使用/dev/sdb/dev/sdc两块硬盘和/dev/sda9/dev/sda10两个分区,大小都为1G,磁盘有限,我也不想这么抠的。

添加分区/dev/sda9 /dev/sda10

[root@centos7 ~]# fdisk  /dev/sda
Welcome to fdisk (util-linux 2.23.2).
Changes will remain in memory only, until you decide to write them.
Be careful before using the write command.

Command (m for help): n
All primary partitions are in use
Adding logical partition 9
First sector (31885312-41943039, default 31885312):
Using default value 31885312
Last sector, +sectors or +size{K,M,G} (31885312-41943039, default 41943039): +1G
Partition 9 of type Linux and of size 1 GiB is set

注意,要修改分区类型为Linux
LVM

Command (m for help): t 
Partition number (1-9, default 9): 8e
Partition number (1-9, default 9): 9
Hex code (type L to list all codes): 8e
Changed type of partition 'Linux' to 'Linux LVM'
Command (m for help):

同样的方法创建/dev/sda10

[root@centos7 ~]# lsblk
NAME    MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
sda       8:0    0   20G  0 disk
├─sda9    8:9    0    1G  0 part
└─sda10   8:10   0    1G  0 part
sdb       8:16   0    1G  0 disk
sdc       8:32   0    1G  0 disk

2 创建PV(物理卷)

 命令格式为:pvcreate  DEVICE,可以一次创建一个设备,也可以一次创建多个设备。

查看物理卷命令:pvdisplay(查看详细信息)、pvs(查看简易信息)

[root@centos7 ~]# pvcreate /dev/sda9
  Physical volume "/dev/sda9" successfully created.
[root@centos7 ~]# pvcreate /dev/sda10 /dev/sdb /dev/sdc
  Physical volume "/dev/sda10" successfully created.
  Physical volume "/dev/sdb" successfully created.
  Physical volume "/dev/sdc" successfully created.

查看物理卷,看到已经成功创建。

 [root@centos7 ~]# pvs
  PV         VG Fmt  Attr PSize PFree
  /dev/sda10    lvm2 ---  1.00g 1.00g
  /dev/sda9     lvm2 ---  1.00g 1.00g
  /dev/sdb      lvm2 ---  1.00g 1.00g
  /dev/sdc      lvm2 ---  1.00g 1.00g

3 创建卷组(VG

命令格式为:vgcreate  -s PE  VGNAMEvg名)  DEVICE(设备名) 

-s :指定物理扩展块大小 既就是PE的大小

查看命令:vgsvgdisplay

[root@centos7 ~]# vgcreate -s 16M vg0  /dev/sda9 /dev/sda10 /dev/sdb /dev/sdc
  Volume group "vg0" successfully created

查看一下

[root@centos7 ~]# vgs
  VG  #PV #LV #SN Attr   VSize VFree
  vg0   4   0   0 wz--n- 3.94g 3.94g

再来看下详细信息

[root@centos7 ~]# vgdisplay
  --- Volume group ---
  VG Name               vg0
  System ID            
  Format                lvm2
  Metadata Areas        4
  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                4
  Act PV                4
  VG Size               3.94 GiB
  PE Size               16.00 MiB
  Total PE              252
  Alloc PE / Size       0 / 0  
  Free  PE / Size       252 / 3.94 GiB
  VG UUID               qmoIMg-5wQR-GKCS-dpq9-HLrt-zVIi-JBC9ZX

一切都复合预期,大小约为4G,正好是两个分区和两个硬盘之和。

4创建逻辑卷(LV

命令格式为:lvcreate
-n LVNAME
(指定LV名) -L  SIZE(指定LV的大小)  vg0(要使用的VG)

-l 指定PE 大小

查看命令(类似PVVG):lvslvdisplay

[root@centos7 ~]# lvcreate -n lv0 -L 3G vg0
  Logical volume "lv0" created.

创建成功,查看一下

[root@centos7 ~]# lvs
  LV   VG  Attr       LSize Pool Origin Data%  Meta%  Move Log Cpy%Sync Convert
  lv0  vg0 -wi-a----- 3.00g

再看下详细信息

[root@centos7 ~]# lvdisplay
  --- Logical volume ---
  LV Path                /dev/vg0/lv0
  LV Name                lv0
  VG Name                vg0
  LV UUID                622i7m-uy6s-3nZI-8xSb-sxrR-cZzz-C9pwkd
  LV Write Access        read/write
  LV Creation host, time centos7.3.loacl, 2017-04-25 16:25:13 +0800
  LV Status              available
  # open                 0
  LV Size                3.00 GiB
  Current LE             192
  Segments               4
  Allocation             inherit
  Read ahead sectors     auto
  - currently set to     8192
  Block device           253:0

可以确定已经成功创建。

现在就可以把/dev/vg0/lv0当做一块硬盘使用了。

现在看一下磁盘信息,已经发生了变化。

[root@centos7 ~]# lsblk
NAME        MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
fd0           2:0    1    4K  0 disk
sda           8:0    0   20G  0 disk
├─sda9        8:9    0    1G  0 part
│ └─vg0-lv0 253:0    0    3G  0 lvm 
└─sda10       8:10   0    1G  0 part
  └─vg0-lv0 253:0    0    3G  0 lvm 
sdb           8:16   0    1G  0 disk
└─vg0-lv0   253:0    0    3G  0 lvm 
sdc           8:32   0    1G  0 disk
└─vg0-lv0   253:0    0    3G  0 lvm 

可以看到,所加入的分区和硬盘已经属于vg0-lv0了。

5 创建文件系统,格式化

mkfs.ext4 /dev/vg0/lv0

[root@centos7 ~]# mkfs.ext4 /dev/vg0/lv0

6 挂载使用

[root@centos7 ~]# mkdir  /mnt/lv0
[root@centos7 ~]# mount  /dev/vg0/lv0  /mnt/lv0

扩展LV

扩展命令格式:

lvextend -L 100G  /dev/vg0/lv0

lvextend -l +100G  /dev/vg0/lv0

lvextend -l +100%FREE  /dev/vg0/lv0

注意 –L  为扩展到多少 -l 为扩展(增加)多少,+100%FREE为扩展剩余vg100%,可根据个人情况进行选择。

由于vg0还预留将近1G 空间,现在扩展一下lv0

1 先来查看原有LV

[root@centos7 ~]# vgs
  VG  #PV #LV #SN Attr   VSize VFree 
  vg0   4   1   0 wz--n- 3.94g 960.00m

2 扩展LV

[root@centos7 ~]#  lvextend  -r  -l  +100%FREE  /dev/vg0/lv0

-rresizefs 一步搞定多方便

或者麻烦一点,一步一步来

[root@centos7 ~]# lvextend  -l +100%FREE  /dev/vg0/lv0
  Size of logical volume vg0/lv0 changed from 3.00 GiB (192 extents) to 3.94 GiB (252 extents).
  Logical volume vg0/lv0 successfully resized.

3 下来重定义文件系统大小

ext系列文件系统重定义:resize2fs  /dev/vg0/lv0

xfs系列文件系统重定义: xfs_growfs /dev/vg0/lv0

[root@centos7 ~]# resize2fs /dev/vg0/lv0
resize2fs 1.42.9 (28-Dec-2013)
Filesystem at /dev/vg0/lv0 is mounted on /mnt/lv0; on-line resizing required
old_desc_blocks = 1, new_desc_blocks = 1
The filesystem on /dev/vg0/lv0 is now 1032192 blocks long.

4 检查文件系统完成性(也可不做)

[root@centos7 ~]# fsck.ext4 /dev/vg0/lv0
e2fsck 1.42.9 (28-Dec-2013)
/dev/vg0/lv0: clean, 20/262144 files, 35918/1032192 blocks

5 确认逻辑卷大小

[root@centos7 ~]# df -h /dev/vg0/lv0
Filesystem           Size  Used Avail Use% Mounted on
/dev/mapper/vg0-lv0  3.9G   12M  3.6G   1% /mnt/lv0

很明显已经扩展成功。

6 挂载使用

[root@centos7 ~]# mount -o remount  /dev/vg0/lv0 

  缩减LV

1 备份数据

虽然一般不会丢失数据,但是为了保险起见。还是先备份为好。

看下/mnt/lv0目录下现有的数据

[root@centos7 ~]# ls /mnt/lv0/
lost+found  myfile2  myfile4  myfile6  myfile8
myfile1     myfile3  myfile5  myfile7  myfile9
[root@centos7 ~]# mkdir /backup
[root@centos7 ~]# cp -a /mnt/lv0/*  /backup/

2 卸载/dev/vg0/lv0

[root@centos7 ~]# umount /mnt/lv0/

3 检查文件系统

e2fsck -f /dev/vg0/lv0  在重新定义文件系统大小之前必须检查磁盘完成性

[root@centos7 ~]# e2fsck -f /dev/vg0/lv0
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/vg0/lv0: 20/262144 files (0.0% non-contiguous), 35918/1032192 blocks

4下来重定义文件系统大小

 resize2fs  /dev/vg0/lv0  2G  #2G位缩减后的LV 大小。

[root@centos7 ~]# resize2fs /dev/vg0/lv0 2G
resize2fs 1.42.9 (28-Dec-2013)
Resizing the filesystem on /dev/vg0/lv0 to 524288 (4k) blocks.
The filesystem on /dev/vg0/lv0 is now 524288 blocks long.

5 缩减LV

lvreduce -L 2G /dev/vg0/lv0  #缩减到2G

[root@centos7 ~]# lvreduce -L 2G /dev/vg0/lv0
  WARNING: Reducing active logical volume to 2.00 GiB.
  THIS MAY DESTROY YOUR DATA (filesystem etc.)
Do you really want to reduce vg0/lv0? [y/n]:  y
  Size of logical volume vg0/lv0 changed from 3.94 GiB (252 extents) to 2.00 GiB (128 extents).
  Logical volume vg0/lv0 successfully resized.

6 挂载使用

 mount  /dev/vg0/lv0  /mnt/lv0

[root@centos7 ~]# mount /dev/vg0/lv0  /mnt/lv0/

查看磁盘挂载情况

[root@centos7 ~]# df -h /dev/vg0/lv0
Filesystem           Size  Used Avail Use% Mounted on
/dev/mapper/vg0-lv0  2.0G  9.0M  1.8G   1% /mnt/lv0

7 确认数据是否丢失

现在再来开心目录/mnt/lv0 的内容

[root@centos7 ~]# ls /mnt/lv0/
lost+found  myfile2  myfile4  myfile6  myfile8
myfile1     myfile3  myfile5  myfile7  myfile9

很完美,数据并没有丢失!

 

 

 

原创文章,作者:linux is not unix,如若转载,请注明出处:http://www.178linux.com/74579

(0)
linux is not unixlinux is not unix
上一篇 2017-05-02
下一篇 2017-05-02

相关推荐

  • 第一周博客作业

    1、描述计算机的组成及其功能。
    2、按系列罗列Linux的发行版,并描述不同发行版之间的联系与区别。
    3、描述Linux的哲学思想,并按照自己的理解对其进行解释性描述。
    4、说明Linux系统上命令的使用格式;详细介绍ifconfig、echo、tty、startx、export、pwd、history、shutdown、poweroff、reboot、hwclock、date命令的使用,并配合相应的示例来阐述。
    5、如何在Linux系统上获取命令的帮助信息,请详细列出,并描述man文档的章节是如何划分的。
    6、请罗列Linux发行版的基础目录名称命名法则及功用规定

    Linux干货 2018-03-13
  • 详解LVM逻辑卷

       LVM逻辑卷管理 当os6中partprobe 命令不能同步分区完的分区信息,及用ll /dev/sd*、cat /proc/partation、lsblk看的设备分区内容和用fdisk -l 看到的信息不同步 所以用partx -a 设备名或者用partx -a –nr 分区号 设备名 其中表示n是设备名,r 是ran…

    Linux干货 2016-08-29
  • Mariadb基于ssl的主从复制

    Mariadb基于ssl的主从复制 一、前言 备份数据库是生产环境中的首要任务,重中之重。一般配置中mariadb的主从传输是明文传输,但是有时候对一些特殊业务来说是不允许的,为了保证数据在传输过程中的安全性,因此使用基于SSL的复制会大大加强数据的安全性。 二、准备工作 1、实验系统环境: CentOS7.2,SELinux关闭,iptables关闭,安装…

    Linux干货 2017-02-24
  • yum软件管理使用详解

    yum介绍 yum客户端的使用 配置文件项作说明: 案例repo配置文件。 创建yum源命令(yum-config-manager) yum list相关命令 yum安装 yum更新和升级 yum查找和显示 yum删除程序 查看仓库 实战演练本地yum仓库(光盘) YUM内置变量 创建YUM仓库(http) yum介绍 yum命令是在Fedora和RedHa…

    Linux干货 2016-09-06
  • 第八周博客作业

    1、写一个脚本,使用ping命令探测172.16.250.1-172.16.250.254之间的所有主机的在线状态; 在线的主机使用绿色显示; 不在线的主使用红色显示; #!/bin/bash declare -i i=1 ping_172() { if ping -W 1 -c 1 172.16.250.$1 &> /dev/null; th…

    Linux干货 2017-05-22
  • N29第一周作业:初识Linux系统

    1、描述计算机的组成及其功能。
    2、按系列罗列Linux的发行版,并描述不同发行版之间的联系与区别。
    3、描述Linux的哲学思想,并按照自己的理解对其进行解释性描述。
    4、说明Linux系统上命令的使用格式;详细介绍ifconfig、echo、tty、startx、export、pwd、history、shutdown、poweroff、reboot、hwclock、date命令的使用,并配合相应的示例来阐述。
    5、如何在Linux系统上获取命令的帮助信息,请详细列出,并描述man文档的章节是如何划分的。
    6、请罗列Linux发行版的基础目录名称命名法则及功用规定

    2018-03-04