1 为虚拟机新加一块disk,用fdisk把它分成lvm的分区。
[email protected]:~# fdisk /dev/xvdb
Command (m for help): m
Command action
a toggle a bootable flag
b edit bsd disklabel
c toggle the dos compatibility flag
d delete a partition
l list known partition types
m print this menu
n add a new partition
o create a new empty DOS partition table
p print the partition table
q quit without saving changes
s create a new empty Sun disklabel
t change a partition's system id
u change display/entry units
v verify the partition table
w write table to disk and exit
x extra functionality (experts only)
2 显示当前的分区表
Command (m for help): p
Disk /dev/xvdb: 107.4 GB, 107374182400 bytes
255 heads, 63 sectors/track, 13054 cylinders, total 209715200 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: 0xdd2fff2e
Device Boot Start End Blocks Id System
#创建一个新的分区
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):
Using default value 1
#按提示来,用默认值
First sector (2048-209715199, default 2048):
Using default value 2048
#这里把整个盘分成了一个区
Last sector, +sectors or +size{K,M,G} (2048-209715199, default 209715199):
Using default value 209715199
# 把分区类型转成lvm
Command (m for help): t
Selected partition 1
#如果不记得分区的类型的代码了,可以用L命令显示分区类型列表
Hex code (type L to list codes): L
0 Empty 24 NEC DOS 81 Minix / old Lin bf Solaris
1 FAT12 27 Hidden NTFS Win 82 Linux swap / So c1 DRDOS/sec (FAT-
2 XENIX root 39 Plan 9 83 Linux c4 DRDOS/sec (FAT-
3 XENIX usr 3c PartitionMagic 84 OS/2 hidden C: c6 DRDOS/sec (FAT-
4 FAT16 <32M 40 Venix 80286 85 Linux extended c7 Syrinx
5 Extended 41 PPC PReP Boot 86 NTFS volume set da Non-FS data
6 FAT16 42 SFS 87 NTFS volume set db CP/M / CTOS / .
7 HPFS/NTFS/exFAT 4d QNX4.x 88 Linux plaintext de Dell Utility
8 AIX 4e QNX4.x 2nd part 8e Linux LVM df BootIt
9 AIX bootable 4f QNX4.x 3rd part 93 Amoeba e1 DOS access
a OS/2 Boot Manag 50 OnTrack DM 94 Amoeba BBT e3 DOS R/O
b W95 FAT32 51 OnTrack DM6 Aux 9f BSD/OS e4 SpeedStor
c W95 FAT32 (LBA) 52 CP/M a0 IBM Thinkpad hi eb BeOS fs
e W95 FAT16 (LBA) 53 OnTrack DM6 Aux a5 FreeBSD ee GPT
f W95 Ext'd (LBA) 54 OnTrackDM6 a6 OpenBSD ef EFI (FAT-12/16/
10 OPUS 55 EZ-Drive a7 NeXTSTEP f0 Linux/PA-RISC b
11 Hidden FAT12 56 Golden Bow a8 Darwin UFS f1 SpeedStor
12 Compaq diagnost 5c Priam Edisk a9 NetBSD f4 SpeedStor
14 Hidden FAT16 <3 61 SpeedStor ab Darwin boot f2 DOS secondary
16 Hidden FAT16 63 GNU HURD or Sys af HFS / HFS+ fb VMware VMFS
17 Hidden HPFS/NTF 64 Novell Netware b7 BSDI fs fc VMware VMKCORE
18 AST SmartSleep 65 Novell Netware b8 BSDI swap fd Linux raid auto
1b Hidden W95 FAT3 70 DiskSecure Mult bb Boot Wizard hid fe LANstep
1c Hidden W95 FAT3 75 PC/IX be Solaris boot ff BBT
1e Hidden W95 FAT1 80 Old Minix
Hex code (type L to list codes): 8e
Changed system type of partition 1 to 8e (Linux LVM)
#再看一下
Command (m for help): p
Disk /dev/xvdb: 107.4 GB, 107374182400 bytes
255 heads, 63 sectors/track, 13054 cylinders, total 209715200 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: 0xdd2fff2e
Device Boot Start End Blocks Id System
/dev/xvdb1 2048 209715199 104856576 8e Linux LVM
#写入分区信息
Command (m for help): w
The partition table has been altered!
Calling ioctl() to re-read partition table.
Syncing disks.
#重新加载分区信息
[email protected]:~# partprobe
[email protected]:~# fdisk -l
Disk /dev/xvda: 32.2 GB, 32212254720 bytes
255 heads, 63 sectors/track, 3916 cylinders, total 62914560 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: 0x00020a62
Device Boot Start End Blocks Id System
/dev/xvda1 2048 499711 248832 83 Linux
/dev/xvda2 501758 62912511 31205377 5 Extended
/dev/xvda5 501760 62912511 31205376 8e Linux LVM
Disk /dev/xvdb: 107.4 GB, 107374182400 bytes
43 heads, 44 sectors/track, 110843 cylinders, total 209715200 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: 0xdd2fff2e
#这是我们刚创建的lvm分区
Device Boot Start End Blocks Id System
/dev/xvdb1 2048 209715199 104856576 8e Linux LVM
Disk /dev/mapper/localhost--vg-root: 30.6 GB, 30614224896 bytes
255 heads, 63 sectors/track, 3721 cylinders, total 59793408 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: 0x00000000
Disk /dev/mapper/localhost--vg-root doesn't contain a valid partition table
Disk /dev/mapper/localhost--vg-swap_1: 1337 MB, 1337982976 bytes
255 heads, 63 sectors/track, 162 cylinders, total 2613248 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: 0x00000000
Disk /dev/mapper/localhost--vg-swap_1 doesn't contain a valid partition table
#创建一个lvm物理卷pv
[email protected]:~# pvcreate /dev/xvdb1
Physical volume "/dev/xvdb1" successfully created
[email protected]:~# pvscan
PV /dev/xvda5 VG localhost-vg lvm2 [29.76 GiB / 0 free]
PV /dev/xvdb1 lvm2 [100.00 GiB]
Total: 2 [129.76 GiB] / in use: 1 [29.76 GiB] / in no VG: 1 [100.00 GiB]
#因为我们在安装ubuntu时选择lvm类型,所以已经有了vg了。
[email protected]:~# vgscan
Reading all physical volumes. This may take a while...
Found volume group "localhost-vg" using metadata type lvm2
#把新建的pv添加到vg里吧
[email protected]:~# vgextend localhost-vg /dev/xvdb1
Volume group "localhost-vg" successfully extended
#看一下vg的详情
[email protected]:~# vgdisplay
--- Volume group ---
VG Name localhost-vg
System ID
Format lvm2
Metadata Areas 2
Metadata Sequence No 4
VG Access read/write
VG Status resizable
MAX LV 0
Cur LV 2
Open LV 2
Max PV 0
Cur PV 2
Act PV 2
VG Size 129.75 GiB
PE Size 4.00 MiB
Total PE 33217
Alloc PE / Size 7618 / 29.76 GiB
Free PE / Size 25599 / 100.00 GiB <= 这个信息很重要,我们在扩大lv时要用到
VG UUID B1b5mq-JMhc-HbPo-ImdF-50pB-fpML-eivSLF
#看看系统里的逻辑卷lv吧
[email protected]:~# lvdisplay
--- Logical volume ---
LV Path /dev/localhost-vg/root
LV Name root
VG Name localhost-vg
LV UUID YfzzNm-ozhH-k2r2-KucH-p2he-CcVj-SCpuAr
LV Write Access read/write
LV Creation host, time localhost, 2015-01-26 16:36:55 +0800
LV Status available
# open 1
LV Size 28.51 GiB <= 大小还没变
Current LE 7299
Segments 1
Allocation inherit
Read ahead sectors auto
- currently set to 256
Block device 252:0
--- Logical volume ---
LV Path /dev/localhost-vg/swap_1
LV Name swap_1
VG Name localhost-vg
LV UUID 6Kid6V-tQ1B-TT43-g7at-Ha1d-yR3X-DomZA7
LV Write Access read/write
LV Creation host, time localhost, 2015-01-26 16:36:55 +0800
LV Status available
# open 2
LV Size 1.25 GiB
Current LE 319
Segments 1
Allocation inherit
Read ahead sectors auto
- currently set to 256
Block device 252:1
#扩大lv的容量,加号后面的值要是vgdisplay命令输出里的Free PE / Size 25599 / 100.00 GiB 这个值,当然可以小于这个值,也就是不全部分配给这个lv.
[email protected]:~# lvresize -l +25599 /dev/localhost-vg/root
Extending logical volume root to 128.51 GiB
Logical volume root successfully resized
#再看看vg,会发现Free PE数量为0了。
[email protected]:~# vgdisplay
--- Volume group ---
VG Name localhost-vg
System ID
Format lvm2
Metadata Areas 2
Metadata Sequence No 5
VG Access read/write
VG Status resizable
MAX LV 0
Cur LV 2
Open LV 2
Max PV 0
Cur PV 2
Act PV 2
VG Size 129.75 GiB
PE Size 4.00 MiB
Total PE 33217
Alloc PE / Size 33217 / 129.75 GiB
Free PE / Size 0 / 0
VG UUID B1b5mq-JMhc-HbPo-ImdF-50pB-fpML-eivSLF
#df一下看看。
[email protected]:~# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/localhost--vg-root 28G 1.3G 26G 5% /
none 4.0K 0 4.0K 0% /sys/fs/cgroup
udev 4.8G 4.0K 4.8G 1% /dev
tmpfs 979M 400K 978M 1% /run
none 5.0M 0 5.0M 0% /run/lock
none 4.8G 0 4.8G 0% /run/shm
none 100M 0 100M 0% /run/user
/dev/xvda1 236M 37M 187M 17% /boot
#What!为什么这里的容量还不对?因为你只是调整了lv的大小,它上面的文件系统还不知道呢。
#好吧,我们来把lv的容量扩到文件系统里吧。
[email protected]:~# resize2fs /dev/mapper/localhost--vg-root
resize2fs 1.42.9 (4-Feb-2014)
Filesystem at /dev/mapper/localhost--vg-root is mounted on /; on-line resizing required
old_desc_blocks = 2, new_desc_blocks = 9
The filesystem on /dev/mapper/localhost--vg-root is now 33687552 blocks long.
#再看看吧,OK!
[email protected]:~# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/localhost--vg-root 127G 1.3G 120G 2% /
none 4.0K 0 4.0K 0% /sys/fs/cgroup
udev 4.8G 4.0K 4.8G 1% /dev
tmpfs 979M 400K 978M 1% /run
none 5.0M 0 5.0M 0% /run/lock
none 4.8G 0 4.8G 0% /run/shm
none 100M 0 100M 0% /run/user
/dev/xvda1 236M 37M 187M 17% /boot