hyper linux v增强_Hyper-V下扩展Linux磁盘空间的方法

背景:开发服务器是虚拟机,原来只规划了2G,后来发现硬盘不够用了,需要进行扩容。

文章说必须基于LVM,命令检验一下。据说centos默认安装也是LVM的。

[sss@localhost ~]$lvdisplay

--- Logical volume ---

LV Path                /dev/vg_vm/lv_root

LV Name                lv_root

VG Name                vg_vm

LV UUID                bWyLlY-hYra-7hPc-2eU9-tXMH-FJFa-7ZLDoF

LV Write Access        read/write

LV Creation host, time vm.sss, 2015-01-05 03:29:55 +0800

LV Status              available

# open                 1

LV Size                6.71 GiB

Current LE             1718

Segments               1

Allocation             inherit

Read ahead sectors     auto

- currently set to     256

Block device           253:0

--- Logical volume ---

LV Path                /dev/vg_vm/lv_swap

LV Name                lv_swap

VG Name                vg_vm

LV UUID                oLj3cQ-USD7-JIGZ-HMJz-NlmA-aQf6-lECYyC

LV Write Access        read/write

LV Creation host, time vm.sss, 2015-01-05 03:29:56 +0800

LV Status              available

# open                 1

LV Size                816.00 MiB

Current LE             204

Segments               1

Allocation             inherit

Read ahead sectors     auto

- currently set to     256

Block device           253:1

[sss@localhost ~]$sudo fdisk -l

Disk /dev/sda: 32.2 GB, 32212254720 bytes

255 heads, 63 sectors/track, 3916 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: 0x00036057

Device Boot      Start         End      Blocks   Id  System

/dev/sda1   *           1          64      512000   83  Linux

Partition 1 does not end on cylinder boundary.

/dev/sda2              64        1045     7875584   8e  Linux LVM

Disk /dev/mapper/vg_vm-lv_root: 7205 MB, 7205814272 bytes

255 heads, 63 sectors/track, 876 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: 0x00000000

Disk /dev/mapper/vg_vm-lv_swap: 855 MB, 855638016 bytes

255 heads, 63 sectors/track, 104 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: 0x00000000

然后,在windows虚拟机管理软件上,给虚拟机扩容——前提是关闭虚拟机OS。

来个30G,当然,进去之后,可以看到总容量增加了。到32G了,还是没有发现新的分区。

[sss@localhost ~]$ sudo fdisk /dev/sda

先为虚拟磁盘扩容,比如10G加到50G,完成后新的空间已经增加,但Linux环境下还不可见。

root帐户登录,添加新分区。

【fdisk -l】 最大分区为/dev/sda3,说明新创建的分区将会是sda4

输入【fdisk /dev/sda】

命令行提示下输入【m】

输入命令【n】添加新分区。

输入命令【p】创建主分区。

输入【回车】,选择默认大小,这样不浪费空间

输入【回车】,选择默认的start cylinder。

输入【w】,保持修改

我们的新建分区/dev/sda3,却不是LVM的。所以,接下来使用fdisk将其改成LVM的。

[root@CNGI-SIP6-BUPT ~]# fdisk /dev/sda

Command (m for help): m

Command (m for help): n  //创建分区

Command action

e   extended

p   primary partition (1-4)

p  //创建主分区

Partition number (1-4): 3 //创建id号为3的分区

First cylinder (2611-5221, default 2611): 2611 //指定开始位置

Last cylinder or +size or +sizeM or +sizeK (2611-5221, default 5221): 5221 //结束位置

Command (m for help): t //改变分区系统id

Partition number (1-4): 3 //指定分区号

Hex code (type L to list codes): 8e //指定要改成的id号,8e代表LVM。

Command (m for help): w

我们现在还不能用这个分区 , 因为我们没格式化。这时要重启系统就能够在 dev 下面看到 sda3 ,如果不重启不能进行下面操作。

重启后,在此查看fdisk -l

Device Boot      Start         End      Blocks   Id System

/dev/sda1   *           1          13      104391   83 Linux

/dev/sda2              14        1044     8281507+ 8e Linux LVM

/dev/sda3            1045        2088     8385930   8e Linux LVM

可以看到/dev/sda3已支持LVM。

输入【reboot】 重启Linux,必须reboot,否则/dev/sda4无法格式化。

这时在/dev/目录下,才能看到了新的分区比如/dev/sda4

【mkfs.ext2 /dev/sda4】格式化

在根目录下创建disk4目录

【mount /dev/sda4 /disk4/】将分区mount到/disk4/上

fdisk -l,这个分区已经出来了。Device Boot      Start         End      Blocks   Id  System

/dev/sda1   *           1          64      512000   83  Linux

Partition 1 does not end on cylinder boundary.

/dev/sda2              64        1045     7875584   8e  Linux LVM

/dev/sda3            1045        3916    23066662   83  Linux

当然,这时候用ls /dev是看不到sd3的。因为还没格式化。

sudo mkfs -t ext3 /dev/sda3 现在也是报错的。

Could not stat /dev/sdb3之类的。

既然上次已经提示了要reboot,那就roboot一下吧。

[sss@localhost ~]$partprobe

还是出现同样的警告。难道还是不行?

Warning: WARNING: the kernel failed to re-read the partition table on /dev/sda (Device or resource busy).  As a result, it may not reflect all of your changes until after reboot.

管他呢,执行一下格式化吧。

[sss@localhost ~]$sudo mkfs -t ext3 /dev/sda3

居然OK了!这不吓唬人吗?

[sss@localhost ~]$ll /dev/sda3

brw-rw----. 1 root disk 8, 3 Jan  6 10:33 /dev/sda3

嘿嘿,已经有了哦

然而,看看磁盘空间呢?怎么还是这几个分区呢

[sss@localhost ~]$df -h

Filesystem                 Size  Used Avail Use% Mounted on

/dev/mapper/vg_vm-lv_root  6.7G  6.5G   83M  99% /

tmpfs                      495M   80K  495M   1% /dev/shm

/dev/sda1                  485M  326M  134M  71% /boot

sudo fdisk -l也可以发现,还是只有一个LVM的分区。

Device Boot      Start         End      Blocks   Id  System

/dev/sda1   *           1          64      512000   83  Linux

Partition 1 does not end on cylinder boundary.

/dev/sda2              64        1045     7875584   8e  Linux LVM

/dev/sda3            1045        3916    23066662   83  Linux

[sss@localhost ~]$sudo lvs

LV      VG    Attr       LSize   Pool Origin Data%  Move Log Cpy%Sync Convert

lv_root vg_vm -wi-ao----   6.71g

lv_swap vg_vm -wi-ao---- 816.00m

[sss@localhost ~]$sudo pvcreate /dev/sda3

dev_is_mpath: failed to get device for 8:3

Physical volume "/dev/sda3" successfully created

这里有一个failed,以为出问题了呢,结果下面又success,玩我呢?不管他了。因为一查,都是这样的提示,没有问题。

/dev/mapper/vg_vm-lv_root  6.7G  6.5G   83M  99% /

tmpfs                      495M   80K  495M   1% /dev/shm

/dev/sda1                  485M  326M  134M  71% /boot

/dev/mapper/vg_vm-lv_root这个应该就是LVM的组名,这里显示的不是sda2.

来扩充这个组吧。

[sss@localhost ~]$df -h

Filesystem                 Size  Used Avail Use% Mounted on

/dev/mapper/vg_vm-lv_root  6.7G  6.5G   83M  99% /

tmpfs                      495M   80K  495M   1% /dev/shm

/dev/sda1                  485M  326M  134M  71% /boot

[sss@localhost ~]$ sudo vgextend /dev/mapper/vg_vm-lv_root /dev/sda3

Volume group name vg_vm/lv_root has invalid characters

[sss@localhost ~]$ sudo vgextend /dev/mapper/vg_vm /dev/sda3

Volume group "vg_vm" successfully extended

原来这个组名,是-之前的字符串——这要是没有文章看着对比分析,谁知道啊?

[sss@localhost ~]$ sudo vgdisplay

--- Volume group ---

VG Name               vg_vm

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               29.50 GiB

PE Size               4.00 MiB

Total PE              7553

Alloc PE / Size       1922 / 7.51 GiB

Free  PE / Size       5631 / 22.00 GiB

VG UUID               8GwL0o-DTdc-Lmkc-gCCC-RBvv-yOQp-wMgpeq

[sss@localhost ~]$ sudo lvextend -L +22G /dev/vg_vm/lv_root /dev/sda3

Extending logical volume lv_root to 28.71 GiB

Insufficient free space: 5632 extents needed, but only 5631 available

估计是这其中用了一部分。22G没那么准了。那么就21.0G吧

[sss@localhost ~]$ sudo lvextend -L +21.9G /dev/vg_vm/lv_root /dev/sda3

Rounding size to boundary between physical extents: 21.90 GiB

Extending logical volume lv_root to 28.61 GiB

Logical volume lv_root successfully resized

文中所说的vim /etc/fstab这一个步骤,没太看明白。

里面的内容是否有改变?因为看到少了一个mapper

我没有管他,并没有对这个文件进行修改,然后继续往下。

[sss@localhost ~]$ sudo e2fsck -f /dev/vg_vm/lv_root

e2fsck 1.41.12 (17-May-2010)

/dev/vg_vm/lv_root is mounted.

e2fsck: Cannot continue, aborting.

不知为何报错。但是这只是一个检查命令,继续往前吧。

[sss@localhost ~]$ sudo resize2fs  /dev/vg_vm/lv_root

resize2fs 1.41.12 (17-May-2010)

Filesystem at /dev/vg_vm/lv_root is mounted on /; on-line resizing required

old desc_blocks = 1, new_desc_blocks = 2

Performing an on-line resize of /dev/vg_vm/lv_root to 7500800 (4k) blocks.

The filesystem on /dev/vg_vm/lv_root is now 7500800 blocks long.

[sss@localhost ~]$ df -h

Filesystem                 Size  Used Avail Use% Mounted on

/dev/mapper/vg_vm-lv_root   29G  6.5G   22G  24% /

tmpfs                      495M   80K  495M   1% /dev/shm

/dev/sda1                  485M  326M  134M  71% /boot

可以看到,这个逻辑卷已经成功的扩容,根目录又可以装更多东西了。

fdisk -l /dev/sda

依次n {new partition}建分区,p {primary partition}主分区,然后输入分区号  {partition number} 默认也可

再输入t{change partition id}改变分区类型,输入分区ID,再输入类型:8e(linux lvm)

重启系统进入

创建卷:pvcreate /dev/sda3

用vgdisplay显示当前卷信息,lvdisplay显示已有的逻辑卷

扩展到新建的卷:vgextend centos /dev/sda3

逻辑卷扩展:lvextend /dev/vg_centos6host/lv_root /dev/sda3

执行文件系统的重定义尺寸:resize2fs /dev/centos/root

上一步可能出错,换方法:

安装这个包,centos7应该已经安装了:

sudo yum install xfsprogs.x86_64 --assumeyes

创建一个目录用于挂载:

mkdir vol

挂载系统到此目录:

sudo mount -t xfs /dev/centos/root vol

执行尺寸增长:

sudo xfs_growfs vol

看下结果:

df -h

你可能感兴趣的:(hyper,linux,v增强)