[收藏]实践参考:parted创建硬盘分区并创建LVM


从RHEL5开始,RHEL有了新的分区工具,parted,最大的亮点就是可以分2TB以上的分区,而且操作简单,个人感觉比fdisk好使
现在用一块硬盘/dev/sdb 使用parted分区,并且创建LVM

一。创建分区
1。先rpm -qf /sbin/parted
parted-2.1-13.el6.x86_64
如果没有就先安装

对/dev/sdb进行分区
parted /dev/sdb
GNU Parted 2.1
使用 /dev/sdb
Welcome to GNU Parted! Type 'help' to view a list of commands.
(parted)                
进入parted对话框,输入help得到帮助

2。进行分区,使用mkpart创建分区,先创建一个主分区,大小为2g

mkpart primary 1024K 2048G

Model: VMware, VMware Virtual S (scsi)
Disk /dev/sdb: 8590MB
Sector size (logical/physical): 512B/512B
Partition Table: msdos

Number  Start   End     Size    Type     File system  标志
 1      1024kB  2048MB  2047MB  primary

3。 现在开始创建一个扩展分区

mkpart extended 2048M 8590M

4。 成功后创建逻辑分区

mkpart logical 2048M 8590M

5。成功后,需要更改分区类型,改为LVM

Model: VMware, VMware Virtual S (scsi)
Disk /dev/sdb: 8590MB
Sector size (logical/physical): 512B/512B
Partition Table: msdos

Number  Start   End     Size    Type      File system  标志
 1      1024kB  2048MB  2047MB  primary
 2      2049MB  8590MB  6541MB  extended               lba
 5      2049MB  8590MB  6541MB  logical

6。使用toggle 更改硬盘类型

toggle 1 lvm

toggle 5 lvm

 

Model: VMware, VMware Virtual S (scsi)
Disk /dev/sdb: 8590MB
Sector size (logical/physical): 512B/512B
Partition Table: msdos

Number  Start   End     Size    Type      File system  标志
 1      1024kB  2048MB  2047MB  primary                lvm
 2      2049MB  8590MB  6541MB  extended               lba
 5      2049MB  8590MB  6541MB  logical                lvm


7。现在退出parted,然后分区就创建完毕了。这时候要么重启,然后使分区表生效,或者使用命令partprobe将分区表注入到内核中

[root@station ~]# fdisk -cul /dev/sdb

Disk /dev/sdb: 8589 MB, 8589934592 bytes
255 heads, 63 sectors/track, 1044 cylinders, total 16777216 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x00042564

   Device Boot      Start         End      Blocks   Id  System
/dev/sdb1            2000     4000000     1999000+  8e  Linux LVM
/dev/sdb2         4001792    16777215     6387712    f  W95 Ext'd (LBA)
/dev/sdb5         4001793    16777215     6387711+  8e  Linux LVM

二。创建完分区后,就可以创建PV了,PV应该是physical volume的缩写,物理卷

1。使用命令pvcreate创建物理卷

pvcreate /dev/sdb1

pvcreate /dev/sdb5

2。 创建VG(卷组),名称为rhel,并将PV包含在VG中,通过包含物理卷,可以为系统提供逻辑的划分空间

vgcreate rhel /dev/sdb1 /dev/sdb5

也可以通过vgextend 来向rhel组添加物理卷

vgextend rhel /dev/sdb6

3。 创建完卷组后,就可以创建逻辑卷了,这逻辑可真够复杂的,都已经三层了

lvcreate -n lvname -L 2G rhel

参数-n表示逻辑卷的名称,-L表示大小,后面是卷组名称

可以通过lvdisplay /dev/rhel来查看所创建的逻辑卷

4。 格式化逻辑卷为ext4格式,并添加挂载点

mkfs.ext4 /dev/rhel/lvname

mkdir /data

mount /dev/rhel/lvname /data

blkid /dev/rhel/lvname

echo "UUID=d8d7a0bd-0d3e-4dbb-a7bc-ad5f4529ae9b /data ext4 defaults 1 2" >>/etc/fstab

df -h /data

[root@station ~]# df -h /data
文件系统       容量  已用  可用 已用%% 挂载点
/dev/mapper/rhel-lvname
                      2.0G   67M  1.9G   4% /data

5。 现在一个逻辑卷就创建好了。并挂载到了/data目录下,大小为2G         

三。扩展逻辑卷和ext4

逻辑卷的好处就是可以扩展硬盘空间,当分配给一个挂载点的硬盘空间不足时,可以动态的加载硬盘容量,这个感觉跟微软的动态磁盘类似,不过微软的动态磁盘就不说什么了。这个东西有利,但是安全性无法保障,例如重装系统的时候,如果硬盘是动态磁盘,就准备哭吧。不知道RHEL对LVM的动态支持性怎么样,这个还有待于以后的实验。

首先,扩展逻辑卷,可以在线扩容。具体步骤如下:

1。先确保卷组的可扩容容量,防止扩容容量超出卷组可用容量,如果卷组容量不足,可以通过vgextend来扩展

vgdisplay rhel

2。扩展逻辑卷,例如,要给逻辑卷lvname扩展2G

lvresize -L +2G /dev/rhel/lvname

运行lvdisplay rhel查看,可以看到已经扩展成4G

[root@station ~]# lvdisplay rhel
  --- Logical volume ---
  LV Name                /dev/rhel/lvname
  VG Name                rhel
  LV UUID                tDIQwm-dCQ8-8GWO-1SGb-2vyx-M2tS-534s4t
  LV Write Access        read/write
  LV Status              available
  # open                 1
  LV Size                4.00 GiB
  Current LE             1024
  Segments               1
  Allocation             inherit
  Read ahead sectors     auto
  - currently set to     256
  Block device           253:2

但是挂载点/data却仍然是2GB

[root@station ~]# df -h /data
文件系统       容量  已用  可用 已用%% 挂载点
/dev/mapper/rhel-lvname
                      2.0G   67M  1.9G   4% /data

3。使用resize2fs来扩展挂载点的文件系统

resize2fs /dev/rhel/lvname

做完后,再查看/data,可以看到已经扩展

[root@station ~]# df -h /data
文件系统       容量  已用  可用 已用%% 挂载点
/dev/mapper/rhel-lvname
                      4.0G   68M  3.7G   2% /data

 

其次,可以缩减容量

在缩减容量的时候,需要将硬盘离线,并且需要备份数据。

缩减容量的顺序相反,先要从文件系统缩减容量,然后再从逻辑卷缩减容量

1。解除挂载

umount /data

2。 执行fsck验证所有文件系统数据结构

fsck -f /dev/rhel/lvname

3。 缩减文件系统,将大小调整为3G,也就是减少1G

resize2fs /dev/rhel/lvname 3G

4. 缩减逻辑卷(LV),将大小调整为3G

lvreduce /dev/rhel/lvname -L -1G

[root@station ~]# lvreduce /dev/rhel/lvname -L -1G
  WARNING: Reducing active logical volume to 3.00 GiB
  THIS MAY DESTROY YOUR DATA (filesystem etc.)
Do you really want to reduce lvname? [y/n]: y
  Reducing logical volume lvname to 3.00 GiB
  Logical volume lvname successfully resized

这个比较讨厌,不能跟resize的容量对应起来。

5。重新挂载

mount -a
 

这样,一个LVM的创建,增加与删减的操作就完成了。

 刚才看了一篇文章

http://hi.baidu.com/suofang/blog/item/02ce933dd837b614bba1676c.html

对LVM的逻辑结构讲的比较清楚,总算弄明白了PE个数与PE大小之间的关系,所以在扩展的时候,还可以通过PE的个数来扩展,这样的话,可以利用所有的空间或者部分的空间,比较欣赏这点。

像扩展空间就可以使用

lvextend -l +100 /dev/rhel/lvname

剩下的步骤一样,每个PE在创建vg的定义,默认是4m,可以修改成最大16GB,乖乖,真够大的,一个卷组里面最大的PE个数是2的16次方,65536个。这样灵活的组合,就可以管理容量巨大的卷组。非常犀利啊

参考:http://blog.sina.com.cn/s/blog_53737d110100x8wg.html

posted @ 2012-03-13 13:43  念槐聚  阅读(775)  评论(0编辑  收藏  举报