ITPub博客

首页 > Linux操作系统 > Linux操作系统 > 磁盤分區

磁盤分區

原创 Linux操作系统 作者:bin_huhj 时间:2019-04-21 20:51:05 0 删除 编辑

在學習oracle10g ASM的時候﹐發現好多概念不清楚﹐好多是關于磁盤管理方面的﹐只好先學習一下磁盤管理。它們分別是﹕

1.磁盤分區﹔2.邏輯盤卷管理﹔3.LVM朮語﹔4.安裝LVM﹔5.LVM的命令列表﹔

6.創建分區﹔7.創建物理卷﹔8.創建卷組﹔9.激活卷組﹔10添加新的物理卷到卷組中﹔

11.從卷組中刪除一個物理卷﹔12.創建邏輯卷﹔13.創建文件系統﹔14刪除一個邏輯卷﹔

15.擴展邏輯卷大小﹔16.減少邏輯卷大小


1.磁盤分區

Linux把各种IDE设备分配了一个由hd前缀组成的文件;而对于各种SCSI设备,则分配了一个由sd前缀组成的文件。例如,第一个IDE设备,Linux就定义为hda;第二个IDE设备就定义为hdb;下面以此类推。而SCSI设备就应该是sda、sdb、sdc等。

对于每一个硬盘(IDE或SCSI)设备,Linux分配了一个1到16的序列号码,这就代表了这块硬盘上面的分区号码。例如,第一个IDE硬盘的第一个分区,在Linux下面映射的就是hda1,第二个分区就称作是hda2。对于SCSI硬盘则是sda1、sdb1等。

在Linux中规定,每一个硬盘设备最多能有4个主分区(其中包含扩展分区)构成,任何一个扩展分区都要占用一个主分区号码,也就是在一个硬盘中,主分区和扩展分区一共最多是4个。可以通过在扩展分区上增加逻辑盘符(逻辑分区)的方法,进一步地细化分区。

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

2.邏輯盤卷管理

LVM是逻辑盘卷管理(Logical Volume Manager)的简称,它是Linux环境下对磁盘分区进行管理的一种机制,LVM是建立在硬盘和分区之上的一个逻辑层,来提高磁盘分区管理的灵活性。通过LVM系统管理员可以轻松管理磁盘分区,如:将若干个磁盘分区连接为一个整块的卷组(volume group),形成一个存储池。管理员可以在卷组上随意创建逻辑卷组(logical volumes),并进一步在逻辑卷组上创建文件系统。管理员通过LVM可以方便的调整存储卷组的大小,并且可以对磁盘存储按照组的方式进行命名、管理和分配,例如按照使用用途进行定义:“development”和“sales”,而不是使用物理磁盘名“sda”和“sdb”。而且当系统添加了新的磁盘,通过LVM管理员就不必将磁盘的文件移动到新的磁盘上以充分利用新的存储空间,而是直接扩展文件系统跨越磁盘即可。

3.LVM朮語

物理存储介质(The physical media)这里指系统的存储设备:硬盘,如:/dev/hda1、/dev/sda等等,是存储系统最低层的存储单元。

物理卷(physical volume)物理卷就是指硬盘分区或从逻辑上与磁盘分区具有同样功能的设备(如RAID),是LVM的基本存储逻辑块,但和基本的物理存储介质(如分区、磁盘等)比较,却包含有与LVM相关的管理参数。

卷组(Volume Group)
LVM
卷组类似于非LVM系统中的物理硬盘,其由物理卷组成。可以在卷组上创建一个或多个“LVM分区”(逻辑卷),LVM卷组由一个或多个物理卷组成。

逻辑卷(logical volume)
LVM
的逻辑卷类似于非LVM系统中的硬盘分区,在逻辑卷之上可以建立文件系统(比如/home或者/usr等)。

PE(physical extent)每一个物理卷被划分为称为PE(Physical Extents)的基本单元,具有唯一编号的PE是可以被LVM寻址的最小单元。PE的大小是可配置的,默认为4MB。

LE(logical extent)逻辑卷也被划分为被称为LE(Logical Extents) 的可被寻址的基本单位。在同一个卷组中,LE的大小和PE是相同的,并且一一对应。

和非LVM系统将包含分区信息的元数据保存在位于分区的起始位置的分区表中一样,逻辑卷以及卷组相关的元数据也是保存在位于物理卷起始处的VGDA(卷组描述符区域)中。VGDA包括以下内容: PV描述符、VG描述符、LV描述符、和一些PE描述符 。

系统启动LVM时激活VG,并将VGDA加载至内存,来识别LV的实际物理存储位置。当系统进行I/O操作时,就会根据VGDA建立的映射机制来访问实际的物理位置。

4.安裝LVM

首先确定系统中是否安装了lvm工具:

[root@www root]# rpm –qa|grep lvm

为了使用LVM,要确保在系统启动时激活LVM,幸运的是在RedHat7.0以后的版本,系统启动脚本已经具有对激活LVM的支持,在/etc/rc.d/rc.sysinit中有以下内容:

# LVM initialization
if [ -e /proc/lvm -a -x /sbin/vgchange -a -f /etc/lvmtab ]; then
$"Setting up Logical Volume Management:"
 
action /sbin/vgscan && /sbin/vgchange -a y
fi

其中关键是两个命令,vgscan命令实现扫描所有磁盘得到卷组信息,并创建文件卷组数据文件/etc/lvmtab和/etc/lvmtab.d/*;vgchange -a y命令激活系统所有卷组。

5.命令列表﹕

Command

LVM Function

pvscan

List all Physical Volume.

pvdisplay

Physical Volume Display. (Displays information about one or more Volume Groups.)

pvcreate

Create a Physical Volume, assign to Volume Group. (Specify a disk for inclusion in the overall LVM.)

vgscan

List all Volume Group.

vgdisplay

Volume Group Display. (Displays information about one or more Volume Groups.)

vgcreate

Create a Volume Group. (Create a subset of the overall LVM.)

vgextend

Add a new physical disk to a volume group.

vgreduce

Reduce a Volume Group. (Reduces the number of disks in a Volume Group.)

vgremove

Remove a Volume Group. (Removes the designation of a group of disks as a Volume Group.)

lvscan

List all Logical Volume.

lvdisplay

Logical Volume Display. (Displays information about one or more Logical Volumes.)

lvcreate

Create a Logical Volume. (storage area for related files that is part of a Volume Group. A Volume Group consists of many logical volumes.)

lvextend

Increase the size of a Logical Volume.

lvreduce

Decrease the size of a Logical Volume.

lvremove

Removes a Logical Volume. (frees the storage area set aside for a logical volume.)

6.創建分區

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

7.創建物理卷

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

# pvcreate /dev/hdb

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

# pvcreate /dev/hda5

8. 創建卷組

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

# vgcreate VolGroupData /dev/hda5 /dev/hdb

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

9. 激活卷組

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

# vgchange -a y VolGroupData

10. 添加新的物理卷到卷組中

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

# vgextend VolGroupData /dev/hdc1

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

11.從卷組中刪除一個物理卷

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

[root@rac1 ~]# pvdisplay /dev/sdf
--- Physical volume ---
PV Name /dev/sdf
VG Name VGASM
PV Size 10.00 GB / not usable 0
Allocatable yes
PE Size (KByte) 4096
Total PE 2559
Free PE 1309
Allocated PE 1250
PV UUID B51Lmw-8ypc-M2WX-80D8-rGf8-u4ee-wZUHD6

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

# vgreduce VolGroupData /dev/hda1

12.創建邏輯卷

创建逻辑卷的命令为lvcreate:

# lvcreate -L1500 –nwww1 VolGroupData

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

# vgdisplay VolGroupData| grep "Total PE"
Total PE 45230
# lvcreate -l 45230 VolGroupData -n www1

13. 創建文件系統

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

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

# mkdir /data/wwwroot
# mount /dev/VolGroupData/www1 /data/wwwroot

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

/dev/VolGroupData/www1 /data/wwwroot reiserfs defaults 1 2

使用 ext3 创建新的文件系统。

例如:
# mke2fs -j /dev/VolGroupData/www1

14. 刪除一個邏輯卷

删除逻辑卷以前首先需要将其卸载,取消其激活状态,然后删除:

# umount /dev/VolGroupData/www1

# lvchange -a n /dev/VolGroupData/www1

# lvremove /dev/VolGroupData/www1
lvremove -- do you really want to remove "/dev/VolGroupData/www1"? [y/n]: y
lvremove -- doing automatic backup of volume group "VolGroupData"
lvremove -- logical volume "/dev/VolGroupData/www1" successfully removed

15. 扩展逻辑卷大小

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

# lvextend -L12G /dev/VolGroupData/www1
lvextend -- extending logical volume "/dev/VolGroupData/www1" to 12 GB
lvextend -- doing automatic backup of volume group "VolGroupData "
lvextend -- logical volume "/dev/VolGroupData/www1" successfully extended

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

# lvextend -L+1G /dev/VolGroupData/www1
lvextend -- extending logical volume "/dev/VolGroupData/www1" to 13 GB
lvextend -- doing automatic backup of volume group "VolGroupData "
lvextend -- logical volume "/dev/VolGroupData/www1" successfully extended

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

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

# resize_reiserfs -f /dev/VolGroupData/www1

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

# umount /dev/VolGroupData/www1
# resize_reiserfs /dev/VolGroupData/www1
# mount -treiserfs /dev/VolGroupData/www1 /data/wwwroot

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

ext2resize。http://sourceforge.net/projects/ext2resize

16.減少邏輯卷大小

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

# umount /data/wwwroot
# resize_reiserfs -s-2G /dev/VolGroupData/www1
# lvreduce -L-2G /dev/VolGroupData/www1
# mount -treiserfs /dev/VolGroupData/www1 /data/wwwroot

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/33600/viewspace-266403/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2003-01-03

  • 博文量
    28
  • 访问量
    26258