加载中…
个人资料
  • 博客等级:
  • 博客积分:
  • 博客访问:
  • 关注人气:
  • 获赠金笔:0支
  • 赠出金笔:0支
  • 荣誉徽章:
正文 字体大小:

linux  分区扩容

(2011-10-11 21:41:18)
标签:

linux

it

分类: linux

[root@localhost home]# df -lh
Filesystem            Size  Used Avail Use% Mounted on
/dev/sda2             3.9G  3.4G  263M  93% /
tmpfs                 504M     504M   0% /dev/shm
/dev/sda1              49M   36M   11M  77% /boot
/dev/sda5              14G  164M   13G   2% /home
[root@localhost home]# df -l
Filesystem           1K-blocks      Used Available Use% Mounted on
/dev/sda2              4031680   3558008    268872  93% /
tmpfs                   515620           515620   0% /dev/shm
/dev/sda1                49574     36075     10939  77% /boot
/dev/sda5             14525932    167556  13620484   2% /home
[root@localhost home]# fdisk -l

Disk /dev/sda: 21.5 GB, 21474836480 bytes
255 heads, 63 sectors/track, 2610 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x0003b3da

   Device Boot      Start         End      Blocks   Id  System
/dev/sda1                          51200   83  Linux
Partition 1 does not end on cylinder boundary.
/dev/sda2                      517     4096000   83  Linux
Partition 2 does not end on cylinder boundary.
/dev/sda3             517         774     2064384   82  Linux swap / Solaris
Partition 3 does not end on cylinder boundary.
/dev/sda4             774        2611    14758912    Extended
/dev/sda5             774        2611    14757888   83  Linux
[root@localhost home]# mount
/dev/sda2 on / type ext4 (rw)
proc on /proc type proc (rw)
sysfs on /sys type sysfs (rw)
devpts on /dev/pts type devpts (rw,gid=5,mode=620)
tmpfs on /dev/shm type tmpfs (rw,rootcontext="system_u:object_r:tmpfs_t:s0")
/dev/sda1 on /boot type ext4 (rw)
/dev/sda5 on /home type ext4 (rw)
none on /proc/sys/fs/binfmt_misc type binfmt_misc (rw)
none on /proc/fs/vmblock/mountPoint type vmblock (rw)
[root@localhost home]# df -a
Filesystem           1K-blocks      Used Available Use% Mounted on
/dev/sda2              4031680   3558008    268872  93% /
proc                                        /proc
sysfs                                       /sys
devpts                                      /dev/pts
tmpfs                   515620           515620   0% /dev/shm
/dev/sda1                49574     36075     10939  77% /boot
/dev/sda5             14525932    167556  13620484   2% /home
none                                        /proc/sys/fs/binfmt_misc
none                                        /proc/fs/vmblock/mountPoint
[root@localhost home]# df -lT
Filesystem    Type   1K-blocks      Used Available Use% Mounted on
/dev/sda2     ext4     4031680   3558008    268872  93% /
tmpfs        tmpfs      515620           515620   0% /dev/shm
/dev/sda1     ext4       49574     36075     10939  77% /boot
/dev/sda5     ext4    14525932    167556  13620484   2% /home
[root@localhost home]#

 

/ 根分太小了,要从/home分区调整容量扩充

 

1、用Gparted live 光盘启动

2、调整/home 分区大小,减少10G

3、启动之后用fdsik -l 查看

[root@localhost /]# fdisk -l

Disk /dev/sda: 21.5 GB, 21474836480 bytes
255 heads, 63 sectors/track, 2610 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x0003b3da

   Device Boot      Start         End      Blocks   Id  System
/dev/sda1                          51200   83  Linux
Partition 1 does not end on cylinder boundary.
/dev/sda2                      517     4096000   83  Linux
Partition 2 does not end on cylinder boundary.
/dev/sda3             517         774     2064384   82  Linux swap / Solaris
Partition 3 does not end on cylinder boundary.
/dev/sda4             774        2611    14758912    Extended
/dev/sda5             774        1337     4517888   83  Linux

 

可以看到2610柱面,只利用了1337,还有 2610-1337 可以用

 

用fdisk 创建分区 fdisk /dev/sda

[root@localhost /]# fdisk /dev/sda

WARNING: DOS-compatible mode is deprecated. It's strongly recommended to
         switch off the mode (command 'c') and change display units to
         sectors (command 'u').

Command (m for help): n

First cylinder (1337-2611, default 1337):
Using default value 1337
Last cylinder, +cylinders or +size{K,M,G} (1337-2611, default 2611):
Using default value 2611

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.

再用fdisk -l 查看一下

[root@localhost /]# fdisk -l

Disk /dev/sda: 21.5 GB, 21474836480 bytes
255 heads, 63 sectors/track, 2610 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x0003b3da

   Device Boot      Start         End      Blocks   Id  System
/dev/sda1                          51200   83  Linux
Partition 1 does not end on cylinder boundary.
/dev/sda2                      517     4096000   83  Linux
Partition 2 does not end on cylinder boundary.
/dev/sda3             517         774     2064384   82  Linux swap / Solaris
Partition 3 does not end on cylinder boundary.
/dev/sda4             774        2611    14758912    Extended
/dev/sda5             774        1337     4517888   83  Linux
/dev/sda6            1337        2611    10239968+  83  Linux

/dev/sda6为新创建的分区

 

重新启动机器之后

 

[root@localhost ~]# pvcreate /dev/sda6 创建物理卷

Physical volume "/dev/sda6" successfully created
[root@localhost ~]# pvremove /dev/sda6 删除物理卷

vgcreate vg01 /dev/sda5 /dev/sda6  多个物理卷组成一个卷组

lvcreate -L 10G -n lv01 vg01 卷组创建后部份或全部容量来创建一个逻辑卷

 

lvdisplay 查看逻辑卷

vgdisplay 查看卷组

pvdisplay 查看物理卷

pvscan 扫描物理卷

 

创建分区-->创建物理卷-->创建卷组-->创建虚拟卷

vgextend /dev/VolGroup00/LogVol102 /dev/sda3  将逻辑卷扩容,加入sda3

加完之后,重新一下识别磁盘容量
# resize2fs /dev/VolGroup00/LogVol00


用LVM管理磁盘不需要在/etc/fstab中加载,增加减少容量也不会对文件造成损失

 

LVM(Logical Volumn Manager):

总体思路:分区成LVM格式(8e)---PV创建--VG创建---LV创建---格式化分区---MOUNT分区----e2fsadm调整LV大小

几个关键词:

PV (Physical Volumn);VG(Volumn Group); LV(Logical Volumn);PE(Physical Extend物理块 default 4M); LE(Logical Extend逻辑块) PE:LE=1:1(Normal)

LVM的结构简图如下:
   hda1  hdc1  sdc     (PV:s  物理卷,一般为分区或整个硬盘)                        
        |                                                                      
        |                                                                      
       diskvg          (VG 卷组由物理卷组成)                                                       
                                                                          
                                                                          
  usrlv rootlv varlv   (LV:s 逻辑卷在卷组上创建)
                                                                          
 ext2  reiserfs  xfs   (建立在逻辑卷上的文件系统)

PV:  实体分割区(Partition)/dev/had...

VG:  虚拟硬盘   /dev/vg_name

LV: 虚拟分割区  /dev/vg_name/lv_name

LVM创建过程:

如有三个硬盘hda2(3G)/hdb2(3G)/hdc2(3G)/hdd2(3G)+hda1(100M boot分区)

1、创建分区:

    fdisk /dev/hda(..hdb..hdc..hdd) -----p---n--t--8e---p--w--- reboot

     (分出hda2/hdb2/hdc2/hdd2各3G的分区,分区格式为8e(lvm分区)

2、创建物理卷(PV):

     pvcreate [-v] /dev/hda2 /dev/hdb2 /dev/hdc2 /dev/hdd2

     ***创建物理卷(PV)之前可以通过pvscan 查看是否有物理卷及其信息,如pvscan查看到现有PV(如/dev/hdb1、/dev/hdc1)属于VG (如VG0),则可以通过

     pvdisplay /dev/hdb1查看现有LVM的情况。 

     ****-v显示创建的全部过程,可以省略   

3、创建卷组(VG):

     vgcreate [-v]  [-s 8M]vg01 /dev/hda2 /dev/hdb2 /dev/hdc2 /dev/hdd2

     ***创建卷组((VG)之前可以通过vgdisplay查看现有卷组信息;

     *** -s 创建的VG的PE大小(如8M),默认省略不写为4M,必须是4的整数倍;

     ***VG创建好后,自动就Active起来,若没有自动Active则可以通过  vgchange -a y vg01激活 VG;也可以通过vgchange -a n vg01 关闭Actice 的VG为Deactive;

     ***只有对Deactive 的VG才能进行更改、删除;VG的重命名不需要Deactive,如 vgrename old_vg_name new_vg_name;

     ***vgremove 删除现有VG :vgremove vg_name;必须是Deactive VG.

     ***若在创建了LVM后发现硬盘空间不够,则可以创建一个LVM分区,通过pvcreate激活此分区,再通过vgextend加入到现有VG中以扩充空间。

      pvcreate /dev/hde2  ; vgextend -v vg01 /dev/hde2   将hde2加入到现有vg01中以扩充空间。

      ***若要删除VG中的PV,必须先确认此PV没有被VG所使用:如/dev/hdd2,先查看pvdisplay /dev/hdd2 中的PV Status,若为Not Availiable则可以删除;

      vgreduce -v vg01 /dev/hdd2

4、创建逻辑卷(LVM):

    命令lvcreate的常用方法: 
   lvcreate [options]  -n 逻辑卷名  卷组名
   其中的常用可选项有:
   "-i Stripes :采用交错(striped)方式创建LV,其中Stripes指卷组中PV的数量。
   "-I Stripe_size :采用交错方式时采用的块大小(单位为KB),Stripe_size必须为2的指数:2N ,N=2,3...9。
   "-l LEs :指定LV的逻辑块数。
   "-L size :指定LV的大小,其后可以用K、M、G表示KB、MB、GB。
   "-s :创建一已存在LV的snapshot卷。
   "-n name :为LV指定名称。

   创建普通LV:  

    lvcreate -L 5G -n lv01 vg01  创建一个名为lv01的5G 虚拟分区在虚拟硬盘vg01上   /dev/vg01/lv01

    lvcreate -i 4 -I 8 -L 4G -n lv02  vg01  [-i 是VG中组成PV的分区个数,-I 块大小,-L LV的大小]

   创建快照LV:

    lvcreate -s -i 4 -I 16 -L 2G -n lv03_snapshot vg01

5、创建文件系统:

      mke2fs -j /dev/vg01/lv01   (mkfs.ext3 /dev/vg01/lv02;  mkfs.ext3 /dev/vg01/lv_snapshot)

6、挂载:

    mkdir /mnt/lv01 ;

    mount -t ext3 /dev/vg01/lv01  /mnt/lv01;

7、增、减LV大小:

    umount  /lv01;

    e2fsadm -L+100M(-100M) /dev/vg01/lv01

****

总结:

1) fdisk /dev/hd?--8e (/dev/hda2;/dev/hdb2;/dev/hdc2/;dev/hdd2)

2) pvcreate /dev/hda2 /dev/hdb2 /dev/hdc2

3)vgcreate vg01 /dev/hd2 /dev/hdb2 /dev/hdc2

4)lvcreate [-s] [-i pv_pation_count] [-I n*2k] -L 分区大小 [-n lv_name]  vg01

5)mke2fs [-j] /vg01/lv_name

6) mkdir /mnt/mnt_point;  mount -t ext3 /dev/vg01/lv_name  /mnt/mnt_point;

 增加硬盘已扩充分区容量:

1) pvcreate /dev/hdd2;

2) vgextend vg01 /dev/hdd2;

3)lvextend -L+100M /dev/vg01/lv_name; (在线扩充分区大小)  lvreduce -L -100M /dev/vg01/lv_name (在线扩充分区大小)

若VG中有容量未分配可以通过以下方法增加(或减少)分区容量:

1) umount /mnt/mnt_point;

2) e2fsadm -L+100M /dev/vg01/lv_name

**以上扩充必须是LV中最后一个LV(如/dev/vg01/lv01;/dev/vg01/lv02; /dev/vg01/lv03)

只能正常、正确扩充最后一个LV :lv03;若扩充lv01、lv02可能会有问题发生。

 

 

 

 

0

阅读 收藏 喜欢 打印举报/Report
  

新浪BLOG意见反馈留言板 欢迎批评指正

新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 产品答疑

新浪公司 版权所有