lvm逻辑卷管理

LVM将若干个磁盘或者磁盘分区连接为一个整块的卷组,形成一个存储池。管理员可以在卷组上任意创建逻辑卷,并进一步在逻辑卷上创建文件系统。管理员通过LVM可以方便的调整存储卷组的大小,并且可以对磁盘存储按照组的方式进行命名、管理和分配。

​​​​​​Linux中规定主分区和逻辑分区的数量之和不能大于4,最多能划分三个主分区和一个扩展分区。

主分区(或者扩展分区)占用 1 至 16 号码中的前 4 个号码。以第一个 IDE 硬盘为例说明,主分区(或者扩展分区)占用了 hda1、hda2、hda3、hda4,而逻辑分区占用了 hda5 到 hda16 等 12 个号码。
  因此,Linux 下面每一个硬盘总共最多有 16 个分区。

硬盘的容量=主分区的容量+扩展分区的容量

扩展分区的容量=各个逻辑分区的容量之和

[root@test4 ~]# fdisk /dev/sda  //对sda磁盘进行分区
Device contains neither a valid DOS partition table, nor Sun, SGI or OSF disklabel
Building a new DOS disklabel. Changes will remain in memory only,
until you decide to write them. After that, of course, the previous
content won't be recoverable.


The number of cylinders for this disk is set to 2597.
There is nothing wrong with that, but this is larger than 1024,
and could in certain setups cause problems with:
1) software that runs at boot time (e.g., old versions of LILO)
2) booting and partitioning software from other OSs
    (e.g., DOS FDISK, OS/2 FDISK)
Warning: invalid flag 0x0000 of partition table 4 will be corrected by w(rite)

Command (m for help): m          //输出帮助信息
 Command action
    a   toggle a bootable flag    //设置启动分区
    b   edit bsd disklabel        //编辑分区标签
    c   toggle the dos compatibility flag
    d   delete a partition        //删除一个分区
    l   list known partition types  //列出分区类型
    m   print this menu           //输出帮助信息
    n   add a new partition       //建立一个新的分区
    o   create a new empty DOS partition table //创建一个新的空白DOS分区表
    p   print the partition table    //打印分区表
    q   quit without saving changes  //退出不保存设置
    s   create a new empty Sun disklabel
    t   change a partition's system id  //改变分区的ID
    u   change display/entry units    //改变显示的单位
    v   verify the partition table    //检查验证分区表
    w   write table to disk and exit  //保存分区表
    x   extra functionality (experts only)
Command (m for help):n     
Command action
   e   extended                 //e是扩展分区
   p   primary partition (1-4)  //p是主分区
p
Partition number (1-4): 1       //定义分区数量   --主分区最多只能有四个
First cylinder (1-2597, default 1): 1
Last cylinder or +size or +sizeM or +sizeK (1-2597, default 2597): +100M

Command (m for help): w          //保存刚才的配置信息。
The partition table has been altered!

Calling ioctl() to re-read partition table.

WARNING: Re-reading the partition table failed with error 22: 无效的参数.
The kernel still uses the old table.
The new table will be used at the next reboot.
Syncing disks.

例:划分两个500M的主分区,剩余的给扩展分区,扩展分区里面划分两个逻辑分区

[root@node3 ~]# lsblk 
NAME          MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
sda             8:0    0    5G  0 disk 
sr0            11:0    1  7.3G  0 rom  /guangpan
nvme0n1       259:0    0   20G  0 disk 
├─nvme0n1p1   259:1    0  200M  0 part /boot
└─nvme0n1p2   259:2    0   12G  0 part 
  ├─rhel-root 253:0    0   10G  0 lvm  /
  └─rhel-swap 253:1    0    2G  0 lvm  [SWAP]

说明关机添加的磁盘sda已经被识别

[root@node3 ~]# fdisk /dev/sda 

欢迎使用 fdisk (util-linux 2.32.1)。
更改将停留在内存中,直到您决定将更改写入磁盘。
使用写入命令前请三思。

设备不包含可识别的分区表。
创建了一个磁盘标识符为 0x85dbdf89 的新 DOS 磁盘标签。

命令(输入 m 获取帮助):n^Hm
分区类型
   p   主分区 (0个主分区,0个扩展分区,4空闲)
   e   扩展分区 (逻辑分区容器)
选择 (默认 p):p
分区号 (1-4, 默认  1): 1
第一个扇区 (2048-10485759, 默认 2048): 
上个扇区,+sectors 或 +size{K,M,G,T,P} (2048-10485759, 默认 10485759): +500M

创建了一个新分区 1,类型为“Linux”,大小为 500 MiB。

命令(输入 m 获取帮助):n
分区类型
   p   主分区 (1个主分区,0个扩展分区,3空闲)
   e   扩展分区 (逻辑分区容器)
选择 (默认 p):p
分区号 (2-4, 默认  2): 2
第一个扇区 (1026048-10485759, 默认 1026048): 
上个扇区,+sectors 或 +size{K,M,G,T,P} (1026048-10485759, 默认 10485759): +500M

创建了一个新分区 2,类型为“Linux”,大小为 500 MiB。

命令(输入 m 获取帮助):w
分区表已调整。
将调用 ioctl() 来重新读分区表。
正在同步磁盘。
                                                                                                                                                     

 将剩下的磁盘作为扩展分区

[root@node3 ~]# fdisk /dev/sda

欢迎使用 fdisk (util-linux 2.32.1)。
更改将停留在内存中,直到您决定将更改写入磁盘。
使用写入命令前请三思。


命令(输入 m 获取帮助):n
分区类型
   p   主分区 (2个主分区,0个扩展分区,2空闲)
   e   扩展分区 (逻辑分区容器)
选择 (默认 p):e
分区号 (3,4, 默认  3): 
第一个扇区 (2050048-10485759, 默认 2050048): 
上个扇区,+sectors 或 +size{K,M,G,T,P} (2050048-10485759, 默认 10485759): 

创建了一个新分区 3,类型为“Extended”,大小为 4 GiB。

命令(输入 m 获取帮助):w
分区表已调整。
将调用 ioctl() 来重新读分区表。
正在同步磁盘。

再将扩展分区划分两个500M的逻辑分区

root@node3 ~]# fdisk /dev/sda

欢迎使用 fdisk (util-linux 2.32.1)。
更改将停留在内存中,直到您决定将更改写入磁盘。
使用写入命令前请三思。

命令(输入 m 获取帮助):n
所有主分区的空间都在使用中。
添加逻辑分区 5
第一个扇区 (2052096-10485759, 默认 2052096): 
上个扇区,+sectors 或 +size{K,M,G,T,P} (2052096-10485759, 默认 10485759): +500M

创建了一个新分区 5,类型为“Linux”,大小为 500 MiB。

命令(输入 m 获取帮助):n
所有主分区的空间都在使用中。
添加逻辑分区 6
第一个扇区 (3078144-10485759, 默认 3078144): 
上个扇区,+sectors 或 +size{K,M,G,T,P} (3078144-10485759, 默认 10485759): +500M

创建了一个新分区 6,类型为“Linux”,大小为 500 MiB。

命令(输入 m 获取帮助):w

分区表已调整。
将调用 ioctl() 来重新读分区表。
正在同步磁盘。

更改分区类型:

[root@node3 ~]# fdisk /dev/sda

欢迎使用 fdisk (util-linux 2.32.1)。
更改将停留在内存中,直到您决定将更改写入磁盘。
使用写入命令前请三思。

命令(输入 m 获取帮助):t
分区号 (1-3,5,6, 默认  6): 
Hex 代码(输入 L 列出所有代码):83

已将分区“Linux swap / Solaris”的类型更改为“Linux”。

命令(输入 m 获取帮助):p
Disk /dev/sda:5 GiB,5368709120 字节,10485760 个扇区
单元:扇区 / 1 * 512 = 512 字节
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘标签类型:dos
磁盘标识符:0x85dbdf89

设备       启动    起点     末尾    扇区  大小 Id 类型
/dev/sda1          2048  1026047 1024000  500M 83 Linux
/dev/sda2       1026048  2050047 1024000  500M 83 Linux
/dev/sda3       2050048 10485759 8435712    4G  5 扩展
/dev/sda5       2052096  3076095 1024000  500M 83 Linux
/dev/sda6       3078144  4102143 1024000  500M 83 Linux

命令(输入 m 获取帮助):w
分区表已调整。
将调用 ioctl() 来重新读分区表。
正在同步磁盘。

[root@node3 ~]# lsblk 
NAME          MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
sda             8:0    0    5G  0 disk 
├─sda1          8:1    0  500M  0 part 
├─sda2          8:2    0  500M  0 part 
├─sda3          8:3    0    1K  0 part 
├─sda5          8:5    0  500M  0 part 
└─sda6          8:6    0  500M  0 part 
sr0            11:0    1  7.3G  0 rom  /guangpan
nvme0n1       259:0    0   20G  0 disk 
├─nvme0n1p1   259:1    0  200M  0 part /boot
└─nvme0n1p2   259:2    0   12G  0 part 
  ├─rhel-root 253:0    0   10G  0 lvm  /
  └─rhel-swap 253:1    0    2G  0 lvm  [SWAP]

 

创建pv:

[root@node3 ~]# pvcreate /dev/sda{1,2,5,6}
  Physical volume "/dev/sda1" successfully created.
  Physical volume "/dev/sda2" successfully created.
  Physical volume "/dev/sda5" successfully created.
  Physical volume "/dev/sda6" successfully created.

查看:

[root@node3 ~]# pvs
  PV             VG   Fmt  Attr PSize   PFree  
  /dev/nvme0n1p2 rhel lvm2 a--   12.00g   4.00m
  /dev/sda1           lvm2 ---  500.00m 500.00m
  /dev/sda2           lvm2 ---  500.00m 500.00m
  /dev/sda5           lvm2 ---  500.00m 500.00m
  /dev/sda6           lvm2 ---  500.00m 500.00m
  • 物理卷(Physical Volume,PV):指磁盘分区或从逻辑上与磁盘分区具有同样功能的设备(如RAID),是LVM的基本存储逻辑块,但和基本的物理存储介质(如分区、磁盘等)比较,却包含有与LVM相关的管理参数。
  • 卷组(Volume Group,VG):是由一个或多个物理卷所组成的存储池,在卷组上能创建一个或多个逻辑卷。
  • 逻辑卷(Logical Volume,LV):类似于非LVM系统中的硬盘分区,它建立在卷组之上,是一个标准的块设备,在逻辑卷之上可以建立文件系统。

创建vg :

直接从扩展分区中创建:

[root@node3 ~]# vgcreate myvg1 /dev/sda{1,2}
  Volume group "myvg1" successfully created
[root@node3 ~]# vgs
  VG    #PV #LV #SN Attr   VSize   VFree  
  myvg1   2   0   0 wz--n- 992.00m 992.00m
  rhel    1   2   0 wz--n-  12.00g   4.00m

从创建好的PV中创建vg:

[root@node3 ~]# vgextend myvg1 /dev/sda{5,6}
  Volume group "myvg1" successfully extended
[root@node3 ~]# vgs myvg1 
  VG    #PV #LV #SN Attr   VSize  VFree 
  myvg1   4   0   0 wz--n- <1.94g <1.94g

创建lv(逻辑卷):

[root@node3 ~]# lvcreate -n mylv1 -L 800M myvg1
  Logical volume "mylv1" created.
[root@node3 ~]# lvs /dev/myvg1/mylv1 
  LV    VG    Attr       LSize   Pool Origin Data%  Meta%  Move Log Cpy%Sync Convert
  mylv1 myvg1 -wi-a----- 800.00m 

格式化:没有分区类型和唯一标识等信息,这是因为磁盘还没有格式化

[root@node3 ~]# mkfs.xfs /dev/myvg1/mylv1 
meta-data=/dev/myvg1/mylv1       isize=512    agcount=4, agsize=51200 blks
         =                       sectsz=512   attr=2, projid32bit=1
         =                       crc=1        finobt=1, sparse=1, rmapbt=0
         =                       reflink=1
data     =                       bsize=4096   blocks=204800, imaxpct=25
         =                       sunit=0      swidth=0 blks
naming   =version 2              bsize=4096   ascii-ci=0, ftype=1
log      =internal log           bsize=4096   blocks=1566, version=2
         =                       sectsz=512   sunit=0 blks, lazy-count=1
realtime =none                   extsz=4096   blocks=0, rtextents=0

挂载:

[root@node3 ~]# tail -1 /etc/fstab 
UUID=2019-10-15-13-34-03-00 /guangpan           iso9660 defaults        0 0
[root@node3 ~]# mkdir /tools
[root@node3 ~]# mount -a
[root@node3 ~]# df -h  | grep /tools/

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值