首页 > 代码库 > 【Linux】lvm基础操作

【Linux】lvm基础操作

新增两块硬盘,来进行实验:

[root@jp ~]# fdisk -l

 

Disk /dev/sda: 107.3 GB, 107374182400 bytes

255 heads, 63 sectors/track, 13054 cylinders

Units = cylinders of 16065 * 512 = 8225280 bytes

 

   Device Boot      Start         End      Blocks   Id  System

/dev/sda1   *           1         255     2048256   83  Linux

/dev/sda2             256         777     4192965   82  Linux swap / Solaris

/dev/sda3             778       13054    98615002+  83  Linux

 

Disk /dev/sdb: 5368 MB, 5368709120 bytes

255 heads, 63 sectors/track, 652 cylinders

Units = cylinders of 16065 * 512 = 8225280 bytes

 

Disk /dev/sdb doesn‘t contain a valid partition table

 

Disk /dev/sdc: 5368 MB, 5368709120 bytes

255 heads, 63 sectors/track, 652 cylinders

Units = cylinders of 16065 * 512 = 8225280 bytes

 

Disk /dev/sdc doesn‘t contain a valid partition table

随便将/dev/sdb分成三个区

[root@jp ~]# fdisk /dev/sdb

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.

 

Warning: invalid flag 0x0000 of partition table 4 will be corrected by w(rite)

 

Command (m for help): n

Command action

   e   extended

   p   primary partition (1-4)

p

Partition number (1-4): 1

First cylinder (1-652, default 1): 1

Last cylinder or +size or +sizeM or +sizeK (1-652, default 652): +1000M

 

Command (m for help): n

Command action

   e   extended

   p   primary partition (1-4)

p

Partition number (1-4): 2

First cylinder (124-652, default 124): 

Using default value 124

Last cylinder or +size or +sizeM or +sizeK (124-652, default 652): +2000M

 

Command (m for help): n

Command action

   e   extended

   p   primary partition (1-4)

p

Partition number (1-4): 3

First cylinder (368-652, default 368): 

Using default value 368

Last cylinder or +size or +sizeM or +sizeK (368-652, default 652): 

Using default value 652

 

Command (m for help): p

 

Disk /dev/sdb: 5368 MB, 5368709120 bytes

255 heads, 63 sectors/track, 652 cylinders

Units = cylinders of 16065 * 512 = 8225280 bytes

 

   Device Boot      Start         End      Blocks   Id  System

/dev/sdb1               1         123      987966   83  Linux

/dev/sdb2             124         367     1959930   83  Linux

/dev/sdb3             368         652     2289262+  83  Linux

 

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.

Syncing disks.

 

 

/dev/sdc随便分两个区:

[root@jp ~]# fdisk /dev/sdc

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.

 

Warning: invalid flag 0x0000 of partition table 4 will be corrected by w(rite)

 

Command (m for help): n

Command action

   e   extended

   p   primary partition (1-4)

p

Partition number (1-4): 1

First cylinder (1-652, default 1): 

Using default value 1

Last cylinder or +size or +sizeM or +sizeK (1-652, default 652): +2000M

 

Command (m for help): n

Command action

   e   extended

   p   primary partition (1-4)

p

Partition number (1-4): 2

First cylinder (245-652, default 245): 

Using default value 245

Last cylinder or +size or +sizeM or +sizeK (245-652, default 652): 

Using default value 652

 

Command (m for help): p

 

Disk /dev/sdc: 5368 MB, 5368709120 bytes

255 heads, 63 sectors/track, 652 cylinders

Units = cylinders of 16065 * 512 = 8225280 bytes

 

   Device Boot      Start         End      Blocks   Id  System

/dev/sdc1               1         244     1959898+  83  Linux

/dev/sdc2             245         652     3277260   83  Linux

 

Command (m for help): w

The partition table has been altered!

 

Calling ioctl() to re-read partition table.

Syncing disks.

 

将所有分区创建PV

[root@jp ~]# pvcreate /dev/sdb1

  Physical volume "/dev/sdb1" successfully created

[root@jp ~]# pvcreate /dev/sdb2

  Physical volume "/dev/sdb2" successfully created

[root@jp ~]# pvcreate /dev/sdb3

  Physical volume "/dev/sdb3" successfully created

[root@jp ~]# pvcreate /dev/sdc1

  Physical volume "/dev/sdc1" successfully created

[root@jp ~]# pvcreate /dev/sdc2

  Physical volume "/dev/sdc2" successfully created

 

创建VG,将/dev/sdb1/dev/sdc1放到该VG

[root@jp ~]# vgcreate test1 /dev/sdb1 /dev/sdc1

  /dev/cdrom: open failed: No medium found

  Volume group "test1" successfully created

VG中增加磁盘:

[root@jp ~]# vgextend test1 /dev/sdb2

  Volume group "test1" successfully extended

查看VG信息:

[root@jp ~]# vgdisplay 

  --- Volume group ---

  VG Name               test1

  System ID             

  Format                lvm2

  Metadata Areas        3

  Metadata Sequence No  4

  VG Access             read/write

  VG Status             resizable

  MAX LV                0

  Cur LV                1

  Open LV               1

  Max PV                0

  Cur PV                3

  Act PV                3

  VG Size               4.68 GB

  PE Size               4.00 MB

  Total PE              1197

  Alloc PE / Size       300 / 1.17 GB

  Free  PE / Size       897 / 3.50 GB

  VG UUID               0ux9KE-yHJP-07Y0-9yCd-ppG2-wWe0-78nLbh

 

创建LV,从VGtest1中拿出1000M给该LVlv_test1

[root@jp ~]# lvcreate -L 1000M -n lv_test1 test1

  Logical volume "lv_test1" created

格式化LVLV只有在格式化之后才能存储数据

[root@jp ~]# mke2fs -j /dev/test1/lv_test1

mke2fs 1.39 (29-May-2006)

Filesystem label=

OS type: Linux

Block size=4096 (log=2)

Fragment size=4096 (log=2)

128000 inodes, 256000 blocks

12800 blocks (5.00%) reserved for the super user

First data block=0

Maximum filesystem blocks=264241152

8 block groups

32768 blocks per group, 32768 fragments per group

16000 inodes per group

Superblock backups stored on blocks: 

        32768, 98304, 163840, 229376

 

Writing inode tables: done                            

Creating journal (4096 blocks): done

Writing superblocks and filesystem accounting information: done

 

This filesystem will be automatically checked every 33 mounts or

180 days, whichever comes first.  Use tune2fs -c or -i to override.

挂载LV

[root@jp ~]# mkdir /test

[root@jp ~]# mount /dev/test1/lv_test1 /test

[root@jp ~]# df -h

Filesystem            Size  Used Avail Use% Mounted on

/dev/sda3              92G   20G   67G  23% /

/dev/sda1             1.9G   42M  1.8G   3% /boot

tmpfs                1014M     0 1014M   0% /dev/shm

/dev/mapper/test1-lv_test1

                      985M   18M  918M   2% /test

挂载之后,可以但到此LV的容量。

如果要在系统启动的时候启动LV,最好是将LV01写入fstable文件中

 

调整LV的大小

[root@jp ~]# lvresize -L +200M /dev/test1/lv_test1

  Extending logical volume lv_test1 to 1.17 GB

  Logical volume lv_test1 successfully resized

 

 

[root@jp ~]# resize2fs /dev/test1/lv_test1

resize2fs 1.39 (29-May-2006)

Filesystem at /dev/test1/lv_test1 is mounted on /test; on-line resizing required

Performing an on-line resize of /dev/test1/lv_test1 to 307200 (4k) blocks.

The filesystem on /dev/test1/lv_test1 is now 307200 blocks long.

 

【Linux】lvm基础操作