基于Linux的系统分区管理

逻辑盘卷管理(LVM,LogicalVolumeManager)

LVM是建立在硬盘和 分区之上的一个逻辑层,来提高磁盘分区管理的灵活性。在零停机前提下可以自如对文件系统的大小进行调整,可以方便实现文件系统跨越不同磁盘和分区。
卷组(VG)、物理卷(PV)、逻辑卷(LV)

一、分区管理
1、设备分区信息

(1) mbr主引导记录446个字节
(2) mpt主分区表64个字节
(3) 硬盘的有效性标识“55aa”2个字节
(4) 一个主分区占用16个字节记录分区信息
(5) 一块硬盘上如果用mbr的分区方式最多可以存在4个主分区
(6) 主分区:分区信息存储在主引导记录扇区的分区表中
(7) 拓展分区:一种特殊的分区,专门用来存储更多的分区
(8) 逻辑分区:存储在拓展分区中的分区称为逻辑分区

2、分区的划分及管理

实现一个分区设备的创建使用,一般经过如下动作:划分创建一个分区,格式化,挂载,激活生效

  • 磁盘管理指令:
[root@server Desktop]# fdisk /dev/vdb
Command (m for help): m       ##获得帮助
Command action
   a   toggle a bootable flag
   b   edit bsd disklabel
   c   toggle the dos compatibility flag
   d   删除分区
   g   create a new empty GPT partition table
   G   create an IRIX (SGI) partition table
   l   list known partition types
   m   print this menu
   n   新建分区
   o   create a new empty DOS partition table
   p   显示分区标示信息
   q   退出不保存
   s   create a new empty Sun disklabel
   t    修改分区id
   u   change display/entry units
   v   verify the partition table
   w   将当前操作写入硬盘分区表
   x   extra functionality (experts only)
  • 创建分区

使用分区工具(如:fdisk等)创建LVM分区,方法和创建其他一般分区的方式是一样的,区别仅仅是LVM的分区类型为8e。

[root@localhost ~]# fdisk /dev/vdb
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
Partition type:
   p   primary (0 primary, 0 extended, 4 free)
   e   extended
Select (default p): 
Using default response p
Partition number (1-4, default 1): 
First sector (2048-20971519, default 2048): 
Using default value 2048
Last sector, +sectors or +size{K,M,G} (2048-20971519, default 20971519): +100M
Partition 1 of type Linux and of size 100 MiB is set
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 16: Device or resource busy.
The kernel still uses the old table. The new table will be used at
the next reboot or after you run partprobe(8) or kpartx(8)
Syncing disks.

此时,可以看到分区成功创建,并且已经被系统识别:

[root@localhost ~]# cat /proc/partitions 
major minor  #blocks  name

 253        0   10485760 vda
 253        1   10484142 vda1
 253       16   10485760 vdb
 253       17     512000 vdb1

t 改变分区类型为8e

  • 创建物理卷

创建物理卷的命令为pvcreate,利用该命令将希望添加到卷组的所有分区或者磁盘创建为物理卷。将整个磁盘创建为物理卷的命令为:

#pvcreate /dev/vdb

将单个分区创建为物理卷的命令为:

#pvcreate /dev/vd

[root@localhost /]# pvcreate  /dev/vdb2
  Physical volume "/dev/vdb2" successfully created

3、创建卷组

创建卷组的命令为vgcreate,将使用pvcreate建立的物理卷创建为一个完整的卷组:

#vgcreate vg0 /dev/vdb1

[root@localhost /]# vgcreate vg0 /dev/vdb1
  Volume group "vg0" successfully created

vgcreate命令第一个参数是指定该卷组的逻辑名:vg0。后面参数是指定希望添加到该卷组的所有分区和磁盘。vgcreate 在创建卷组web_document以外,还设置使用大小为4MB的PE(默认为4MB),这表示卷组上创建的所有逻辑卷都以4MB为增量单位来进行扩充 或缩减。由于内核原因,PE大小决定了逻辑卷的最大大小,4MB的PE决定了单个逻辑卷最大容量为256GB,若希望使用大于256G的逻辑卷则创建卷组 时指定更大的PE。PE大小范围为8KB到512MB,并且必须总是2的倍数。

4、激活卷组

为了立即使用卷组而不是重新启动系统,可以使用vgchange来激活卷组:

#vgchange -ay web_document

5、添加新的物理卷到卷组中
当系统安装了新的磁盘并创建了新的物理卷,而要将其添加到已有卷组时,就需要使用vgextend命令:

#vgextend web_document /dev/hdc1

这里/dev/hdc1是新的物理卷。

6、从卷组中删除一个物理卷

要从一个卷组中删除一个物理卷,首先要确认要删除的物理卷没有被任何逻辑卷正在使用,就要使用pvdisplay命令察看一个该物理卷信息:

如果某个物理卷正在被逻辑卷所使用,就需要将该物理卷的数据备份到其他地方,然后再删除。删除物理卷的命令为vgreduce:

#vgreduce web_document /dev/hda1

7、创建逻辑卷

创建逻辑卷的命令为lvcreate:

  #lvcreate -L 200M -n lv0 vg0

该命令就在卷组vg0上创建名字为lv0,大小为200M的逻辑卷,并且设备入口为 /dev/vg0/lv0(vg0为卷组名,lv0为逻辑卷名)。如果希望创建一个使用全部卷组的逻辑卷,则需 要首先察看该卷组的PE数,然后在创建逻辑卷时指定:

#vgdisplay web_document | grep”TotalPE”

TotalPE45230

 #lvcreate -l45230 vg0 -n lv0

[root@localhost /]# lvcreate -L 200M -n lv0 vg0

  Logical volume "lv0" created

8、创建文件系统

推荐使用reiserfs文件系统,来替代ext2和ext3:

创建了文件系统以后,就可以加载并使用它:

 #mkdir/data/wwwroot

 #mount /dev/web_document/www1/data/wwwroot

如果希望系统启动时自动加载文件系统,则还需要在/etc/fstab中添加内容:

/dev/web_document/www1/data/wwwrootreiserfsdefaults12

9、删除一个逻辑卷

删除逻辑卷以前首先需要将其卸载,然后删除:

 #umount /dev/web_document/www1

 #lvremove /dev/web_document/www1

lvremove–doyoureallywanttoremove”/dev/web_document/www1”?[y/n]:y

lvremove–doingautomaticbackupofvolumegroup”web_document”

lvremove–logicalvolume”/dev/web_document/www1”successfullyremoved

10、扩展逻辑卷大小

LVM提供了方便调整逻辑卷大小的能力,扩展逻辑卷大小的命令是lvextend:

lvextend -L12G /dev/web_document/www1

lvextend–extendinglogicalvolume”/dev/web_document/www1”to12GB

lvextend–doingautomaticbackupofvolumegroup”web_document”

lvextend–logicalvolume”/dev/web_document/www1”successfullyextended

上面的命令就实现将逻辑卷www1的大小扩招为12G。

  #lvextend -L +1G /dev/web_document/www1

lvextend–extendinglogicalvolume”/dev/web_document/www1”to13GB

lvextend–doingautomaticbackupofvolumegroup”web_document”

lvextend–logicalvolume”/dev/web_document/www1”successfullyextended

上面的命令就实现将逻辑卷www1的大小增加1G。

增加了逻辑卷的容量以后,就需要修改文件系统大小以实现利用扩充的空间。笔者推荐使用reiserfs文件系统来替代ext2或者ext3。因此这里仅 仅讨论reiserfs的情况。Reiserfs文件工具提供了文件系统大小调整工具:resize_reiserfs。对于希望调整被加载的文件系统大 小:

 #resize_reiserfs -f /dev/web_document/www1

一般建议最好将文件系统卸载,调整大小,然后再加载:

 #umount /dev/web_document/www1

 #resize_reiserfs /dev/web_document/www1

 #mount-treiserfs /dev/web_document/www1/data/wwwroot

对于使用ext2或ext3文件系统的用户可以考虑使用工具

ext2resize。

11、减少逻辑卷大小

使用lvreduce即可实现对逻辑卷的容量,同样需要首先将文件系统卸载:

 #umount /m

 #resize_reiserfs -s -2G /dev/web_document/www1

 #lvreduce -L -2G /dev/web_document/www1

 #mount-treiserfs /dev/web_document/www1/data/wwwroot

给磁盘配额

1.挂载时声明配额

2.设置配额

3.编写/etc/fstab里面文件系统的静态信息

4.写入磁盘测试

扩展分区。

1.umount卸载磁盘

2.把分区都删了

3.清除/etc/fstab里写入的内容

4.partprobe 更新分区表

猜你喜欢

转载自blog.csdn.net/qq_36747237/article/details/80412616