搜档网
当前位置:搜档网 › 虚拟机扩大磁盘(图文详解)

虚拟机扩大磁盘(图文详解)

虚拟机扩大磁盘(图文详解)
虚拟机扩大磁盘(图文详解)

虚拟机磁盘扩大与LVM

扩大硬盘的方法有二:

1 新增一个虚拟硬盘

2 扩大原有硬盘

第一:新增硬盘并将其格式化为lvm格式

第二:扩大硬盘并利用分区工具,将扩大的部分添加到原有的分区中,再将该分区转为lvm 格式

第三:建立lvm卷组,并最终将文件系统挂载上去。

**********************************************

vmware-vdiskmanager.exe

创建一个新的磁盘:

vmware-vdiskmanager.exe //看看选项,也可以增大原来的磁盘

vmware-vdiskmanager.exe -c -s 10Gb -a ide -t 0 Seconddisk.vmdk在

vmware-->setting-->选择硬盘-->add-->....即可将新增一个磁盘。如果没有以上这步,虚拟机下是识别不到用vdiskmanager创建的新的虚拟磁盘。这比较容易理解。

或者使用vmware utility菜单中的expand命令,增加虚拟机的最大磁盘空间。

新增一个磁盘,比较简单。进入虚拟机后。/sbin/fdisk -l会发现有一个磁盘没有挂载任何的文件系统。如/dev/hda

/sbin/fdisk /dev/hda来对这个磁盘进行分区,并选择lvm类型的文件系统。如下

# /sbin/fdisk /dev/hda

The number of cylinders for this disk is set to 22192.

There is nothing wrong with that, but this is larger than 1024,

and could in certain setups cause problems with:

1) software that runs at boot time (e.g., old versions of LILO)

2) booting and partitioning software from other OSs

(e.g., DOS FDISK, OS/2 FDISK)

Command (m for help): t

Selected partition 1

Hex code (type L to list codes): 8e

此处选8e是设置磁盘格式为lvm, 在command下可输入l查看

Command (m for help): w

The partition table has been altered!

Calling ioctl() to re-read partition table.

Syncing disks.

将该盘设为lvm格式,是为了让几个lvm物理卷构成一个卷组,并最终都挂载到/目录下。因为我的/空间满了

这里又是扩大硬盘容量,又是新增硬盘,主要是为了实验。图方便的话,直接用其中一种方式皆可。

但是,从vmware setting 上扩大磁盘后,在linux下只会显示硬盘大小改变了,可并没有扩充文件系统啊。

可以利用:resize2fs和parted分区工具。

参考:resize2fs

https://www.sodocs.net/doc/2618288099.html,/u/6303/showart_407254.html

parted https://www.sodocs.net/doc/2618288099.html,/index.php/linux/34-linuxbase/1190-command.html

这种情况下,对该磁盘,即是,已分区的并挂载文件系统的空间已经不够,但是,该盘上还有未分区的空间。如何识别这些未分区的空间?

# /sbin/fdisk -l

Disk /dev/hda: 10.7 GB, 10737418240 bytes

15 heads(磁头), 63 sectors(扇区)/track(磁道), 22192 cylinders(磁道柱面)

Units(单位) = cylinders of 945 * 512 = 483840 bytes

15*63=945

945*512=483840

注:22192*483840=10737418240,共有22192个柱面,每个柱面的Units(大小单位)为48380,所以总大小为二者的乘积

参考:https://www.sodocs.net/doc/2618288099.html,/service/gaoji/hard/004.htm

Device Boot Start End Blocks Id System

/dev/hda1 1 22192 10485688+ 8e Linux LVM

Disk /dev/sda: 16.1 GB, 16106127360 bytes

255 heads, 63 sectors/track, 1958 cylinders

Units = cylinders of 16065 * 512 = 8225280 bytes

Device Boot Start End Blocks Id System

/dev/sda1 * 1 13 104391 83 Linux

/dev/sda2 14 274 2096482+ 83 Linux

/dev/sda3 275 1305 8281507+ 8e Linux LVM

可以看出,/dev/sda这个磁盘分为三个区,柱面数小于总的柱面。即还有未分区的空间。将1306至1958柱面加到/dev/sda3中。

1.首先,将1306-->1958的扇区新建上一个文件系统。

能不能使两个不同的硬盘分区挂载在同一个目录下面?

按以往的概念,那肯定是不行的。如将两分区:/dev/hda1 /dev/hda2同时挂载到/home/me 下,当然会提示出错。不过用lvm,很方便地可以得到扩展。

准备工作上面都已经做好了:有如下资源

/dev/hda 完整的一块盘10G,未挂载

/dev/sda4 5G的空间,未挂载

/dev/sda3 6G,挂载/

目标:

建立一个LV分区,将/挂载到该分区上。使/的空间增大的20G

开始:

1 /usr/sbin/pvcreate /dev/hda初始化物理卷/dev/hda

2 /usr/sbin/pvcreate /dev/sda4初始化物理卷/dev/sda4

3 /usr/sbin/vgextend VolGroup00 /dev/sda4

4 /usr/sbin/vgextend VolGroup00 /dev/hda

3,4步将新的卷添加到原有的卷组当中,其中VolGroup00为原有的物理卷组,该卷组下的逻辑卷是/dev/sda3,卷组上有LV逻辑分区:

# /usr/sbin/lvscan

ACTIVE '/dev/VolGroup00/LogVol00' [6.66 GB] inherit

ACTIVE '/dev/VolGroup00/LogVol01' [1.19 GB] inherit

挂载着整个的文件系统/及/home。内核2.4以后,基本上都是支持lvm的,这给系统硬盘的划分带来了很大的方便。

5 /usr/sbin/lvextend -L +15G /dev/VolGroup00-LogVol00扩大逻辑卷LogVol00,

即挂载/目录的LV。将卷组VolGroup00 上的Free PE / Size 空闲空间添加进来。可通过/usr/sbin/pvdisplay查看。

增加了逻辑卷的容量以后,就需要修改文件系统大小以实现利用扩充的空间

6 执行文件系统检查:

[root@server1 /]# e2fsck -f /dev/VolGroup00-LogVol00

e2fsck 1.39 (29-May-2006)

/dev/VolGroup00/LogVol00 is mounted.

WARNING!!! Running e2fsck on a mounted filesystem may cause

SEVERE filesystem damage.

Do you really want to continue (y/n)? y es

/dev/VolGroup00/LogVol00: recovering journal

Pass 1: Checking inodes, blocks, and sizes

Pass 2: Checking directory structure

Pass 3: Checking directory connectivity

Pass 4: Checking reference counts

Pass 5: Checking group summary information

/dev/VolGroup00/LogVol00: ***** FILE SYSTEM WAS MODIFIED *****

/dev/VolGroup00/LogVol00: ***** REBOOT LINUX *****

/dev/VolGroup00/LogVol00: 114168/1048576 files (0.6% non-contiguous),

695530/1048576 block

7,执行resize2fs

[root@server1 /]# resize2fs /dev/VolGroup00-LogVol00

resize2fs 1.39 (29-May-2006)

Filesystem at /dev/VolGroup00/LogVol00 is mounted on /; on-line resizing required Performing an on-line resize of /dev/VolGroup00/LogVol00 to 2179072 (4k) blocks.

The filesystem on /dev/VolGroup00/LogVol00 is now 2179072 blocks long.

8,重新查看lv信息和mount的信息--mount 查看当前的挂载情况

[root@server1 /]# lvdisplay

总结:

在虚拟机下,linux硬盘空间不够时,可通过vmware-->setting-->add来增加一个新的硬盘,或者通过vmware-vdiskmanager.exe来扩大原有的虚拟硬盘*.vmdk。

进入linux系统后,通过/sbin/fdisk -l 命令查看磁盘分区状况。发现,扩大的硬盘并没有真正加到文件系统中。新增的硬盘也未建立文件系统。

将扩大的硬盘的空闲空间分隔成另一个分区。利用 /sbin/fdisk,并设置成lvm的格式

将新增的硬盘也同样处理。

利用/usr/sbin/pv* /usr/sbin/vg* /usr/sbin/lv*等一系列lvm工具,将新的分区加到卷组VolGroup00中。此时,卷组VolGroup00中,空间已变大。然而,文件系统的空间并未发生变化,可通过命令df来查看。

利用文件系统检查工具e2fsck来检查文件系统/dev/VolGroup00/LogVol00 ,并且重新分配文件系统的大小:resize2fs。

至此,已经成功将根目录的空间增大。

******************************************************************************

lvm可参考:https://www.sodocs.net/doc/2618288099.html,/u3/93926/showart_1873239.html

LVM使用手册https://www.sodocs.net/doc/2618288099.html,/jh/4/36371.html

1 简介

1.1 什么是LVM?

LVM是 Logical Volume Manager(逻辑卷管理)的简写,它由Heinz Mauelshagen在

Linux 2.4内核上实现,目前最新版本为:稳定版1.0.5,开发版 1.1.0-rc2,以及LVM2开发版。

与传统的磁盘与分区相比,LVM为计算机提供了更高层次的磁盘存储。它使系统管理员可以更方便的为应用与用户分配存储空间。在LVM管理下的存储卷可以按需要随时改变大小与移除(可能需对文件系统工具进行升级)。LVM也允许按用户组对存储卷进行管理,允许管理员用更直观的名称(如"sales'、 'development')代替物理磁盘名(如'sda'、'sdb')来标识存储卷。

1.2 为什么使用LVM?

LVM通常用于装备大量磁盘的系统,但它同样适于仅有一、两块硬盘的小系统。

1.2.1 小系统使用LVM的益处

传统的文件系统是基于分区的,一个文件系统对应一个分区。这种方式比较直观,但不易改变:

1.不同的分区相对独立,无相互联系,各分区空间很易利用不平衡,空间不能充分利用;

2.当一个文件系统/分区已满时,无法对其扩充,只能采用重新分区/建立文件系统,非常麻烦;或把分区中的数据移到另一个更大的分区中;或采用符号连接的方式使用其它分区的空间。

3.如果要把硬盘上的多个分区合并在一起使用,只能采用再分区的方式,这个过程需要数据的备份与恢复。

当采用LVM时,情况有所不同:

1.硬盘的多个分区由LVM统一为卷组管理,可以方便的加入或移走分区以扩大或减小卷组

的可用容量,充分利用硬盘空间;

2.文件系统建立在逻辑卷上,而逻辑卷可根据需要改变大小(在卷组容量范围内)以满足要求;

3.文件系统建立在LVM上,可以跨分区,方便使用;

1.2.2 大系统使用LVM的益处

在使用很多硬盘的大系统中,使用LVM主要是方便管理、增加了系统的扩展性。

在一个有很多不同容量硬盘的大型系统中,对不同的用户的空间分配是一个技巧性的工作,要在用户需求与实际可用空间中寻求平衡。

用户/用户组的空间建立在LVM上,可以随时按要求增大,或根据使用情况对各逻辑卷进行调整。当系统空间不足而加入新的硬盘时,不必把用户的数据从原硬盘迁移到新硬盘,而只须把新的分区加入卷组并扩充逻辑卷即可。同样,使用LVM可以在不停服务的情况下。把用户数据从旧硬盘转移到新硬盘空间中去。

2 LVM构成

LVM的结构简图如下:

hda1 hdc1 sdc (PV:s 物理卷,一般为分区或整个硬盘)

\ |/

\ |/

diskvg (VG 卷组由物理卷组成)

/ | \

/ | \

usrlv rootlv varlv (LV:s 逻辑卷在卷组上创建)

| | |

ext2 reiserfs xfs (建立在逻辑卷上的文件系统)

2.1 卷组volume group (VG)

卷组是LVM中最高抽象层,是由一个或多个物理卷所组成的存储器池。

2.2 物理卷physical volume (PV)

典型的物理卷是硬盘分区,但也可以是整个硬盘或已创建的Software RAID 卷。

2.3 逻辑卷logical volume (LV)

逻辑卷相当于非LVM系统中的分区,它在卷组上建立,是一个标准的块设备,可以在其上建立文件系统。

2.4 物理块physical extent (PE)

物理卷按大小相等的“块”为单位存储,块的大小与卷组中逻辑卷块的大小相同。

2.5 逻辑块logical extent (LE)

逻辑卷按“块”为单位存储,在一卷组中的所有逻辑卷的块大小是相同的。

2.6 总述

例子:有一个卷组VG1,它的物理块大小为4MB。在这个卷组中为2个硬盘分区:/dev/hda1与/dev/hdb1,它们分别成为物理卷PV1与PV2。物理卷将按4MB为单位分块,如PV1与PV2分别可分为99与248块。在VG1上建立逻辑卷,它的大小可在1至347(99+ 248)块之间。当建立逻辑卷时,会建立逻辑块与物理块的一一映射关系。

2.7 映射模式 (linear/striped)

在建立逻辑卷时,可以选择逻辑块与物理块映射的策略:

1.线性映射-将把一定范围的物理块按顺序分配给逻辑卷,如 LV的LE 1 – 99映射到PV1,LE 100 – 347映射到PV2。

2.交错模式-将把逻辑块交错映射到不同的物理卷中,如 LV的LE 1映射为PV1的PE1,LE 2映射为PV2的PE1,LE 3映射为PV1的PE2...。这种方式可以提高逻辑卷的性能,但是采用这种方式建立的逻辑卷将不能在它们所在的物理卷中扩展。

2.8 Snapshots (快照)

LVM提供了一个非常好的特性:snapshots。它允许管理员建立一个块设备:该设备是一逻辑卷在某一时刻冻结的精确拷贝。这个特性通常用于批处理过程(如备份)需要处理逻辑卷,但又不能停止系统。当操作完成时,snapshot设备可以被移除。这个特性要求在建立snapshot设备时逻辑卷处于相容状态。

3 LVM的一般操作

3.1 建立PV

为把一个磁盘或分区作为PV,首先应使用 pvcreate 对其初始化,如对IDE硬盘/dev/hdb,"使用整个磁盘,

# pvcreate /dev/hdb

这将在磁盘上建立VG的描述符。

"使用磁盘分区,如/dev/hdb1。

使用fdisk 的t 命令把/dev/hda1的分区类型设为0x8e,然后运行:

# pvcreate /dev/hdb1

这将在分区/dev/hda1上建立VG的描述符。

PV初始化命令pvcreate的一般用法为:

pvcreate PV1 [ PV2 ... ]

它的参数可以是整个磁盘、分区,也可以是一loop设备。

3.2 建立VG

在使用pvcreate 建立了PV后,可以用vgcreate 建立卷组,如有PV1、PV2分别是/dev/hda1与/dev/hdb1,使用

# vgcreate testvg /dev/hda1 /dev/hdb1

将建立一个名为testvg的卷组,它由两个PV:/dev/hda1与/dev/hdb1组成。vgcreate的

一般用法为:

# vgcreate [options] VG_name PV1 [PV2 ...]

其中的可选项包括设置VG最大支持的LV数、PE大小(缺省为4MB)等。

注意:当使用devfs系统时,应使用设备的全名而不能是Symbol Link,如对上例应为:# vgcreate testvg /dev/ide/host0/bus0/target0/lun0/part1\

/dev/ide/host0/bus0/target1/lun0/part1

3.3 激活VG

在被激活之前,VG与LV是无法访问的,这时可用命令:

# vgchange -a y testvg

激活所要使用的卷组。当不再使用VG时,可用

# vgchange -a n testvg

使之不再可用。

vgchange可用来设置VG的一些参数,如是否可用( -a [y|n]选项)、支持最大逻辑卷数等。

3.4 移除VG

在移除一卷组前应确认卷组中不再有逻辑卷,首先休眠卷组:

# vgchange -a n testvg

然后可用vgremove移除该卷组:

# vgremove testvg

3.5 为VG增加新PV

当卷组空间不足时,可以加入新的物理卷来扩大容量,这时可用命令vgextend,如

# vgextend testvg /dev/hdc1

其中/dev/hdc1是新的PV,当然在这之前,它应使用pvcreate初始化。

3.6 从VG移除PV

在移除PV之前,应确认该PV没用被LV使用,这可用命令pvdisplay查看,如:

# pvdisplay /dev/hda1

--- Physical volume ---

PV Name /dev/hda1

VG Name testvg

PV Size 1.95 GB / NOT usable 4 MB [LVM: 122 KB]

PV# 1

PV Status available

Allocatable yes (but full)

Cur LV 1

PE Size (KByte) 4096

Total PE 499

Free PE 0

Allocated PE 499

PV UUID Sd44tK-9IRw-SrMC-MOkn-76iP-iftz-OVSen7

如这个PV仍在被使用,则应把数据传移到其它PV上。在确认它未被使用后,可用命令vgreduce把它从VG中删除,如:

# vgreduce testvg /dev/hda1

3.7 创建LV

在创建逻辑卷前,应决定LV使用哪些PV,这可用命令vgdisplay与pvdisplay查看当前卷组与PV的使用情况。在已有的卷组上创建逻辑卷使用命令lvcreate,如:

# lvcreate -L1500 -ntestlv testvg

将在卷组testvg上建立一个1500MB的线性LV,其命名为testlv,对应的块设备为

/dev/testvg/testlv。

# lvcreate -i2 -I4 -l100 -nanothertestlv testvg

将在卷组testvg上建立名为anothertestlv的LV,其大小为100LE,采用交错方式存放,交错值为2,块大小为4KB。

如果需要LV使用整个VG,可首先用vgdisplay 查找 Total PE 值,然后在运行lvcreate时指定,如:

# vgdisplay testvg | grep "Total PE"

Total PE 10230

# lvcreate -l 10230 testvg -n mylv

将使用卷组testvg的全部空间创建逻辑卷mylv。

在创建逻辑卷后,就可在其上创建文件系统并使用它。

命令lvcreate的常用方法:

lvcreate [options] -n 逻辑卷名卷组名 [PV1 ... ]

其中的常用可选项有:

"-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指定名称。

3.8 删除LV

为删除一个逻辑卷,必须首先从系统卸载其上的文件系统,然后可用lvremove删除,如:# umount /dev/testvg/testlv

# lvremove /dev/testvg/testlv

lvremove -- do you really want to remove "/dev/testvg/testlv"? [y/n]: y

lvremove -- doing automatic backup of volume group "testvg"

lvremove -- logical volume "/dev/testvg/testlv" successfully removed

3.9 扩展LV

为逻辑卷增加容量可用使用lvextend,即可以指定要增加的尺寸也可以指定扩容后的尺寸,如

# lvextend -L12G /dev/testvg/testlv

lvextend -- extending logical volume "/dev/testvg/testlv" to 12 GB

lvextend -- doing automatic backup of volume group "testvg"

lvextend -- logical volume "/dev/testvg/testlv" successfully extended

将扩大逻辑卷testlv的容量为12GB。

# lvextend -L+1G /dev/testvg/testlv

lvextend -- extending logical volume "/dev/testvg/testlv" to 13 GB

lvextend -- doing automatic backup of volume group "testvg"

lvextend -- logical volume "/dev/testvg/testlv" successfully extended

将为LV testlv再增大容量1GB至13GB。

为LV扩容的一个前提是:LV所在的VG有足够的空闲存储空间可用。

在为LV扩容之后,应同时为LV之上的文件系统扩容,使二者相匹配。对不同的文件系统有相对应的扩容方法。

3.9.1 ext2/ext3

除非内核已有ext2online 补丁,否则在改变ext2/ext3文件系统的大小时应卸载它:

# umount /dev/testvg/testlv

# resize2fs /dev/testvg/testlv

# mount /dev/testvg/testlv /home

这里假设testlv安装点为/home。在es2fsprogs-1.19或以上版本中包含resize2fs命令。

在LVM发行包中有一个称为e2fsadm的工具,它同时包含了lvextend与resize2fs的功能,如:

# e2fsadm -L+1G /dev/testvg/testlv

等价于下面两条命令:

# lvextend -L+1G /dev/testvg/testlv

# resize2fs /dev/testvg/testlv

但用户仍需首先卸载文件系统。

3.9.2 reiserfs

与ext2不同,Reiserfs不必卸载文件系统,如:

# resize_reiserfs -f /dev/testvg/testvl

3.9.3 xfs

SGI XFS文件系统必须在安装的情况下才可改变大小,并且要使用安装点而不是块设备,如:

# xfs_growfs /home

3.10 缩小LV

逻辑卷可扩展同样也可缩小,但应在缩小LV之前首先减小文件系统,否则将可能导致数据丢失。

3.10.1 ext2/ext3

可以使用LVM的工具e2fsadm操作,如:

# umount /home

# e2fsadm -L-1G /dev/testvg/testvl

# mount /home

如果采用resize2fs,就必须知道缩少后卷的块数:

# umount /home

# resize2fs /dev/testvg/testvl 524288

# lvreduce -L-1G /dev/testvg/testvl

# mount /home

3.10.2 reiserfs

在缩小reiserfs时,应首先卸载它,如:

# umount /home

# resize_reiserfs -s-1G /dev/testvg/testvl

# lvreduce -L-1G /dev/testvg/testvl

# mount -treiserfs /dev/testvg/testvl /home

3.10.3 xfs

无法实现。

3.11 在PV间转移数据

若要把一个PV从VG中移除,应首先把其上所有活动PE中的数据转移到其它PV上,而新的PV必须是本VG的一部分,有足够的空间。如要把PV1:/dev/hda1上的数据移到

PV2:/dev/sda1上可用命令:

# pvmove /dev/hdb1 /dev/sdg1

如果在该PV之上的LV采用交错方式存放,则这个转移过程不能被打断。

建议在转移数据之前备份LV中的数据。

3.12 系统启动/关闭

"为使系统启动时可自动激活并使用LVM,可将以下几行添加到启动 rc 脚本中:

/sbin/vgscan

/sbin/vgchange -a y

这些行将浏览所有可用的卷组并激活它们。要注意的是,它们应在安装卷组上的文件系统操作之前被执行,否则将无法正常安装文件系统。

"在系统关机时,要关闭LVM,这可将以下这行添加到关机 rc 脚本中,并确保它在卸装了所有文件系统后执行:

/sbin/vgchange -a n

4 磁盘分区问题

4.1 一个磁盘上的多个分区

LVM允许PV建立在几乎所有块设备上,如整个硬盘、硬盘分区、Soft RAID:

# pvcreate /dev/sda1

# pvcreate /dev/sdf

# pvcreate /dev/hda8

# pvcreate /dev/hda6

# pvcreate /dev/md1

所以在一块硬盘上可以有多个PV/分区,但一般建议一块硬盘上只有一个PV:

"便于管理,易于处理错误

"避免交错方式中性能下降。LVM不能辨别两个PV是否在同一硬盘上,故当采用交错方式时,会导致性能更差。

但在某些情况下可采用:

"把已存在的系统合并到LVM中。在一个只有少数硬盘的系统中,转换为LVM时需在在各分区之间转移数据。

"把一个大硬盘分给不同的VG使用。

当一个VG的有不同的PV在同一硬盘时,创建交错方式的LV时应注意使用哪一个PV。

4.2 Sun disk labels

仅在SUN的SPARC系统中有此问题。

5 建立LVM用例

在本节中,将在3块SCSI硬盘:/dev/sda,/dev/sdb,/dev/sdc上按步建立LVM。

5.1 准备分区

首先要做的是初始化硬盘,建立PV,这将会删除硬盘上的原有数据。在此,用整个硬盘为PV:

# pvcreate /dev/sda

# pvcreate /dev/sdb

# pvcreate /dev/sdc

pvcreate在每个硬盘的起始端建立卷组描述区( volume group descriptor area, VGDA)。

5.2 创建卷组

利用上面三个PV建立卷组:

# vgcreate test_vg /dev/sda /dev/sdb /dev/sdc/

然后可用vgdisplay 查看/验证卷组的信息:

# vgdisplay

--- Volume Group ---

VG Name test_vg

VG Access read/write

VG Status available/resizable

VG # 1

MAX LV 256

Cur LV 0

Open LV 0

MAX LV Size 255.99 GB

Max PV 256

Cur PV 3

Act PV 3

VG Size 1.45 GB

PE Size 4 MB

Total PE 372

Alloc PE / Size 0 / 0

Free PE / Size 372/ 1.45 GB

VG UUID nP2PY5-5TOS-hLx0-FDu0-2a6N-f37x-0BME0Y

其中最重要的前三条要正确,且VS size是以上三个硬盘容量之和。

5.3 建立LV

在确定卷组test_vg正确后,就可在其上创建LV。LV的大小可在VG大小范围内任意选择,如同在硬盘上分区。

5.3.1 建立线性方式LV

在test_vg上建立一个大小为1GB的线性方式LV:

# lvcreate -L1G -ntest_lv test_vg

lvcreate -- doing automatic backup of "test_vg"

lvcreate -- logical volume "/dev/test_vg/test_lv" successfully created

5.3.2 建立交错方式LV

在test_vg上建立一个大小为1GB的交错方式LV,交错参数为4KB:

# lvcreate -i3 -I4 -L1G -ntest_lv test_vg

lvcreate -- rounding 1048576 KB to stripe boundary size 1056768 KB / 258 PE lvcreate -- doing automatic backup of "test_vg"

lvcreate -- logical volume "/dev/test_vg/test_lv" successfully created

注意:如果使用 -i2参数,则LV将仅使用test_vg中的两块硬盘。

5.4 建立文件系统

在LV test_lv创建后,就可在其上建立文件系统,

如,ext2/ext3系统:

# mke2fs /dev/test_vg/test_lv

如,reiserfs:

# mkreiserfs /dev/test_vg/test_lv

5.5 测试文件系统

安装LV:

# mount /dev/test_vg/test_lv /mnt

# df

Filesystem 1k-blocks Used Available Use% Mounted on

/dev/hda1 1311552 628824 616104 51% /

/dev/test_vg/test_lv 1040132 20 987276 0% /mnt

则可以通过/mnt访问LV。

6 使用snapshot 做备份

例如我们要对卷组"test_vg"每晚进行数据库备份,就要采用snapshot类型的卷组。这种卷组是其它卷组的一个只读拷贝,它含有在创建snapshot卷组时原卷组的所有数据,这意味你可以备份这个卷组而不用担心在备份过程中数据会改变,也不需要暂时关闭数据库卷以备份。

6.1 建立snapshot卷

一个snapshot卷可大可小,但必须有足够的空间存放所有在本snapshot卷生存期间改变的数据,一般最大要求是原卷组的1.1倍。如空间不够,snapshot卷将不能使用。

# lvcreate -L592M -s -n dbbackup /dev/test_vg/databases

lvcreate -- WARNING: the snapshot must be disabled if it gets full

lvcreate -- INFO: using default snapshot chunk size of 64 KB for "/dev/test_vg/dbbackup"

lvcreate -- doing automatic backup of "test_vg"

lvcreate -- logical volume "/dev/test_vg/dbbackup" successfully created

6.2 安装snapshot卷

现在可以安装该卷:

# mkdir /mnt/test_vg/dbbackup

# mount /dev/test_vg/dbbackup /mnt/test_vg/dbbackup

mount: block device /dev/test_vg/dbbackup is write-protected, mounting read-only

从上面可以看出,snapshot卷是只读的。

当使用XFS文件系统时,mount命令要使用nouuid与norecovery选项:

# mount /dev/test_vg/dbbackup /mnt/test_vg/dbbackup -o nouuid,norecovery,ro

6.3 备份数据

如采用tar向磁带备份:

# tar -cf /dev/rmt0 /mnt/test_vg/dbbackup

6.4 删除snapshot 卷

在完成备份后,就可卸载并删除snapshot卷。

# umount /mnt/test_vg/dbbackup

# lvremove /dev/test_vg/dbbackup

lvremove -- do you really want to remove "/dev/test_vg/dbbackup"? [y/n]: y

lvremove -- doing automatic backup of volume group "test_vg"

lvremove -- logical volume "/dev/test_vg/dbbackup" successfully removed

7 更换卷组硬盘

由于某种原因,需要用新的硬盘替代卷组中的旧硬盘,如用一SCSI硬盘替换IDE硬盘,其步骤为:

7.1 准备/初始化新硬盘

首先用pvcreate命令初始化新的硬盘,如使用整个硬盘:

# pvcreate /dev/sdf

pvcreate -- physical volume "/dev/sdf" successfully created

7.2 加入卷组

把新硬盘加入卷组:

# vgextend test_vg /dev/sdf

vgextend -- INFO: maximum logical volume size is 255.99 Gigabyte

vgextend -- doing automatic backup of volume group "test_vg"

vgextend -- volume group "test_vg" successfully extended

7.3 数据搬家

在移除旧硬盘前,要把其上的数据转移到新硬盘上。在转移数据时,不要求卸载文件系统,但建议在数据转移前进行备份,以防转移进程中意外导致数据丢失。

pvmove用来实现数据转移,根据数据量的多少,它可能要使用大量的时间,并可降低逻辑卷的性能,因此要在系统不太忙时操作。

# pvmove /dev/hdb /dev/sdf

pvmove -- moving physical extents in active volume group "test_vg"

pvmove -- WARNING: moving of active logical volumes may cause data loss!

pvmove -- do you want to continue? [y/n] y

pvmove -- 249 extents of physical volume "/dev/hdb" successfully moved

7.4 移除未用硬盘

当数据被转移到其它硬盘后,就可以从卷组中删除这块不再使用的硬盘:

# vgreduce dev /dev/hdb

vgreduce -- doing automatic backup of volume group "test_vg"

vgreduce -- volume group "test_vg" successfully reduced by physical volume:

vgreduce -- /dev/hdb

从此,卷组test_vg不再使用IDE硬盘/dev/hdb,这块硬盘可以从机器中拆下或用作它途。

8 迁移卷组到其它系统

把一个卷组转移到其它系统是很容易的(如更换服务器),这要用命令vgexport与vgimport。

8.1 卸载文件系统

为整体搬迁卷组,应首先把它从文件系统中卸载,如:

# unmount /mnt/design/users

8.2 设置卷组为非活动状态

把卷组从内核中卸载,以避免任何对它可能的操作:

# vgchange -an test_vg

vgchange -- volume group "test_vg" successfully deactivated

8.3 Export 卷组

这个操作不是必须的,便它可以防止系统对卷组的访问:

# vgexport test_vg

vgexport -- volume group "test_vg" sucessfully exported

当机器关机后,构成卷组的硬盘就可被转移到新的服务器上。

8.4 Import 卷组

在新的服务器上,可用pvscan查看卷组情况,如在这台计算机上,硬盘新的设备为/dev/sdb,使用pvscan可有:

# pvscan

pvscan -- reading all physical volumes (this may take a while...)

pvscan -- inactive PV "/dev/sdb1" is in EXPORTED VG "test_vg" [996 MB / 996 MB free]

pvscan -- inactive PV "/dev/sdb2" is in EXPORTED VG "test_vg" [996 MB / 244 MB free]

pvscan -- total: 2 [1.95 GB] / in use: 2 [1.95 GB] / in no VG: 0 [0]

现可以import卷组test_vg (同时也激活它)以安装其上的文件系统

# vgimport test_vg /dev/sdb1 /dev/sdb2

vgimport -- doing automatic backup of volume group "test_vg"

vgimport -- volume group "test_vg" successfully imported and activated

8.5 安装文件系统

# mkdir -p /mnt/design/users

# mount /dev/test_vg/users /mnt/design/users

在完成以上操作后,原卷组在新的服务器上就可使用了。

9 分割卷组

这种情况是:需要在系统中加入新的卷组,但没有其它可用新硬盘,而已有的卷组中还有大量空间可用。如向系统加入一个"design"卷组。

9.1 检查可用空间

# pvscan

pvscan -- reading all physical volumes (this may take a while...)

pvscan -- ACTIVE PV "/dev/sda" of VG "dev" [1.95 GB / 0 free]

pvscan -- ACTIVE PV "/dev/sdb" of VG "sales" [1.95 GB / 1.27 GB free]

pvscan -- ACTIVE PV "/dev/sdc" of VG "ops" [1.95 GB / 564 MB free]

pvscan -- ACTIVE PV "/dev/sdd" of VG "dev" [1.95 GB / 0 free]

pvscan -- ACTIVE PV "/dev/sde" of VG "ops" [1.95 GB / 1.9 GB free]

pvscan -- ACTIVE PV "/dev/sdf" of VG "dev" [1.95 GB / 1.33 GB free]

pvscan -- ACTIVE PV "/dev/sdg1" of VG "ops" [996 MB / 432 MB free]

pvscan -- ACTIVE PV "/dev/sdg2" of VG "dev" [996 MB / 632 MB free]

pvscan -- total: 8 [13.67 GB] / in use: 8 [13.67 GB] / in no VG: 0 [0]

我们决定把/dev/sdg1与/dev/sdg2分配组design,但首先要把其上的物理块移到其它卷的空闲空间中(如把卷组dev移到/dev/sdf,卷组ops移到/dev/sde)。

9.2 从选定硬盘移出数据

由于硬盘上的逻辑卷仍在使用,故首先要转移它们的数据。

把所有在使用的物理块从/dev/sdg1上转移到/dev/sde,及从/dev/sdg2转移到/dev/sdf。# pvmove /dev/sdg1 /dev/sde

pvmove -- moving physical extents in active volume group "ops"

pvmove -- WARNING: moving of active logical volumes may cause data loss!

pvmove -- do you want to continue? [y/n] y

pvmove -- doing automatic backup of volume group "ops"

pvmove -- 141 extents of physical volume "/dev/sdg1" successfully moved

# pvmove /dev/sdg2 /dev/sdf

pvmove -- moving physical extents in active volume group "dev"

pvmove -- WARNING: moving of active logical volumes may cause data loss! pvmove -- do you want to continue? [y/n] y

pvmove -- doing automatic backup of volume group "dev"

pvmove -- 91 extents of physical volume "/dev/sdg2" successfully moved

9.3 创建新卷组

现在把/dev/sdg2从卷组dev从分割出并加入到新卷组design中。我们可用vgreduce与vgcreate完成工作,但vgsplit此时更方便:

# vgsplit dev design /dev/sdg2

vgsplit -- doing automatic backup of volume group "dev"

vgsplit -- doing automatic backup of volume group "design"

vgsplit -- volume group "dev" successfully split into "dev" and "design"

9.4 移除剩余的卷

接下来的工作把/dev/sdg1从卷组ops中分出并加入卷组design:

# vgreduce ops /dev/sdg1

vgreduce -- doing automatic backup of volume group "ops"

vgreduce -- volume group "ops" successfully reduced by physical volume:

vgreduce -- /dev/sdg1

# vgextend design /dev/sdg1

vgextend -- INFO: maximum logical volume size is 255.99 Gigabyte

vgextend -- doing automatic backup of volume group "design"

vgextend -- volume group "design" successfully extended

9.5 建立新逻辑卷及文件系统

在卷组design上建立逻辑卷,为今后的方便,现只使用一部分空间:

# lvcreate -L750M -n users design

lvcreate -- rounding up size to physical extent boundary "752 MB"

lvcreate -- doing automatic backup of "design"

lvcreate -- logical volume "/dev/design/users" successfully created

# mke2fs /dev/design/users

mke2fs 1.18, 11-Nov-1999 for EXT2 FS 0.5b, 95/08/09

Filesystem label=

OS type: Linux

Block size=4096 (log=2)

Fragment size=4096 (log=2)

96384 inodes, 192512 blocks

9625 blocks (5.00

实战Linux下VMware虚拟机根目录空间扩充

实战Linux下VMware虚拟机根目录空间扩充 分类:Linux 2011-02-14 16:59 532人阅读评论(0) 收藏举报 今天上午接到通知说服务器挂了,经过检查发现原因是Linux的虚拟机根分区已经使用100%,以至于服务不能正常进行。 经过小小的研究,顺利解决问题,把服务器的空间由4G扩成12G。现将执行全过程总结如下,以供分享。 首先,介绍下大体的解决思路,要想扩充,硬件上要有准备,说白了也就是要有一块新的空间来供我们使用。对于实体机我们需要准备一块新的硬盘,而对于VMWare 虚拟机,我们只需要使用vmware自带的软件扩充下磁盘大小。 扩充磁盘,只意味着硬件条件得到满足。接下来就需要对新的磁盘空格进行合理的操作,来扩充我们需要的分区。 值得注意的是,这里我们基于LVM来操作的。如果您的环境不是LVM的,可以考虑改成LVM的,否则后文无需再读。具体执行过程将细细道来。 第一步、使用VMware工具扩容分配的硬盘空间 1、vmware 提供一个命令行工具,在Windows下为vmware-vdiskmanager.exe 位于vmware 的安装目录下,比如C:/Program Files/VMware/VMware Workstation/vmware-vdiskmanager.exe. 在Linux下有直接的vmware-vdiskmanager指令。 进行的操作:在windows 下运行CMD , 转到vmware 的安装目录,可执行vmware-vdiskmanager.exe;在Linux下,直接敲入vmware-vdiskmanager ,可执行该指令扩充使用的指令: vmware-vdiskmanager -x 16Gb myNewlinux.vmdk 说明:要扩容的系统这时不能在运行,参数"-x" 表示要扩展虚拟机硬盘空间,紧随其后的数字是要扩展到的大小,而非增加量(本例为扩展到16GB ,这是一个磁盘总量,包含了原先的磁盘容量) 。最后是指定要操作的虚拟机磁盘的具体文件,要是路径名中有空格,必须以双引号括起来。按回车键开始执行,执行完毕,退出命令提示符窗口,重启VMware ,会发现虚拟机硬盘空间已变成16GB 了。

虚拟机中如何扩展一个虚拟磁盘的大小(图解)

虚拟机中如何扩展一个虚拟磁盘的大小(图解) 2009-12-07 00:14:59| 分类:PC | 标签:|字号大中小订阅 问题的提出: 非常多的虚拟机使用者开始没有能预估到在虚拟机上安装系统后最后需要多少空间,使用了一段时间后发现虚拟机的磁盘空间不够了。怎么去解决呢? 方法一、 在虚拟机配置处增加一个硬盘。 点击Edit virtual machine settings

点击下一步,增加一块硬盘

接下来就是按照提示操作就可以了。 这个方法不是最好的。增加了一个硬盘,对虚拟机的性能并没有什么太大的影响。 方法二: 使用VMware自身带的工具进行扩展硬盘 1、首先找到VMware的安装路径,从vm的快捷方式的属性去寻找安装路径

在安装文件夹下我们可以看到这个命令:vmware-vdiskmanager.exe

这个命令必须在命令行下运行。 进入命令行状态。 C:\Program Files\VMware\VMware Workstation>vmware-vdiskmanager.exe VMware Virtual Disk Manager - build 19175.

Usage: vmware-vdiskmanager.exe OPTIONS diskName | drive-letter: Offline disk manipulation utility Options: -c : create disk; need to specify other create options 建立一个新的磁盘 -d : defragment the specified virtual disk 磁盘碎片整理 -k : shrink the specified virtual disk 压缩一个指定的磁盘 -n : rename the specified virtual disk; need to specify destination disk-name 重新命名磁盘的名称 -p : prepare the mounted virtual disk specified by the drive-letter for shrinking -q : do not log messages -r : convert the specified disk; need to specify destination disk-type 转换磁盘类型 -x : expand the disk to the specified capacity 扩展磁盘的容量 Additional options for create and convert: -a : (for use with -c only) adapter type (ide, buslogic o r lsilogic) -s : capacity of the virtual disk -t : disk type id Disk types: 0 : single growable virtual disk 1 : growable virtual disk split in 2Gb files 2 : preallocated virtual disk 3 : preallocated virtual disk split in 2Gb files The capacity can be specified in sectors, Kb, Mb or Gb. The acceptable ranges: ide adapter : [100.0Mb, 950.0Gb] scsi adapter: [100.0Mb, 950.0Gb] ex 1: vmware-vdiskmanager.exe -c -s 850Mb -a ide -t 0 myIdeDisk.vmdk ex 2: vmware-vdiskmanager.exe -d myDisk.vmdk ex 3: vmware-vdiskmanager.exe -r sourceDisk.vmdk -t 0 destinationDisk.vm dk 示例: ex 4: vmware-vdiskmanager.exe -x 36Gb myDisk.vmdk 把myDisk.vmdk的容量扩展到36G

(图解)为虚拟机重新调整磁盘容量(Resize VMDK)

(图解)为虚拟机重新调整磁盘容量(Resize VMDK) 1、关闭虚拟机后右击虚拟机选择“Edit Settings”(4.x版本的ESXi/ESX可以不用关机调整); 2、在“Hardware”页标签选择要更改容量的虚拟磁盘VMDK,输入想要调整的容量大小,如下图(只能增加不能减少): 3、完成这里的添加只是第一步,还需要进入到虚拟机的系统里面去调整,具体而言,针对Windows 操作系统非系统盘可以用Diskpart工具来调整容量;同时,也可以利用GParted之类的东距来调整容量; Windows DISKPART调整磁盘容量 1、点击开始运行输入diskmgmt.msc; 2、系统显示如下图所示,调整后的空白空间显示在里面: 3、然后进入到命令行界面输入DISKPART命令来调整: diskpart->list volume->select Volume 0->extand->exit

4、再次输入diskmgmt.msc进入到磁盘管理界面可以看到如下状况,说明已经完成调整了: 利用GParted工具调整 首先下载GParted Live CD,然后: 1、点击“Options”页标签然后选择“Boot Options”; 2、点击“Force BIOS Setup”强行下一次启动BIOS设定界面; 3、点击OK完成配置: 4、将下载到的Gparted Live CD连接到虚拟机后设定为BIOS光盘启动:

5、然后启动系统到如下界面: 6、选择需要扩展空间的磁盘和分区,然后右击分区选择“Resize/Move”,如下图: 7、设置需要调整的空间大小或者直接拉动下图中绿色边框到最右边: 8、然后,点击“Apply”后完成调整重启系统将挂载的这个GParted Live CD移除掉:

虚拟机下扩展Linux的磁盘空间

虚拟机下扩展Linux的磁盘空间 1.首先在vmware当即的情况下扩展空间; 2.启动Linux,然后执行parted命令: 3.运行fdisk /dev/sda后输入P查看分区结果如下。可见总共有1566 个cylinder,但最后一个分区只是到1044就结束了。这说明后面还有硬盘空间。 Disk /dev/sda: 12.8 GB, 12884901888 bytes 255 heads, 63 sectors/track, 1566 cylinders Units = cylinders of 16065 * 512 = 8225280 bytes Device Boot Start End Blocks Id System /dev/sda1 * 1 13 104391 83 Linux /dev/sda2 14 1044 8281507+ 8e Linux LVM 4.输入n创建新的扩展分区,选择e创建扩展分区。新的分区表如 下。确认无误后输入w已保存生效。

如果Linux系统磁盘空间采用LVM管理的,在分区的时候要选择为primary partition,然后使用t命令将分区类型转换为LVM类型,即“8e”,然后W。 此处设置完后必须reboot机器 5.查看磁盘信息,并创建物理卷,操作如下:

[root@bogon ~]# fdisk -l Disk /dev/sda: 12.8 GB, 12884901888 bytes 255 heads, 63 sectors/track, 1566 cylinders Units = cylinders of 16065 * 512 = 8225280 bytes 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 1566 4192965 8e Linux LVM [root@bogon ~]# pvcreate /dev/sda3 Physical volume "/dev/sda3" successfully created [root@bogon ~]# 6.查看卷信息,并将新扩展的分区加入卷组: [root@bogon ~]# pvscan PV /dev/sda2 VG VolGroup00 lvm2 [7.88 GB / 0 free] PV /dev/sda3 lvm2 [4.00 GB] Total: 2 [11.87 GB] / in use: 1 [7.88 GB] / in no VG: 1 [4.00 GB] [root@bogon ~]# vgextend VolGroup00 /dev/sda3 Volume group "VolGroup00" successfully extended 7.用vgdisplay LogVol00 看看还剩余多少空间,看free那个选项 8.现在为LogVol00逻辑卷增加刚才我们新加入的空间 [root@bogon ~]# lvextend -L +3.9G /dev/VolGroup00/LogVol00 Rounding up size to full physical extent 3.91 GB

虚拟机扩大磁盘(图文详解)

虚拟机磁盘扩大与LVM 扩大硬盘的方法有二: 1 新增一个虚拟硬盘 2 扩大原有硬盘 第一:新增硬盘并将其格式化为lvm格式 第二:扩大硬盘并利用分区工具,将扩大的部分添加到原有的分区中,再将该分区转为lvm 格式 第三:建立lvm卷组,并最终将文件系统挂载上去。 ********************************************** vmware-vdiskmanager.exe 创建一个新的磁盘: vmware-vdiskmanager.exe //看看选项,也可以增大原来的磁盘 vmware-vdiskmanager.exe -c -s 10Gb -a ide -t 0 Seconddisk.vmdk在 vmware-->setting-->选择硬盘-->add-->....即可将新增一个磁盘。如果没有以上这步,虚拟机下是识别不到用vdiskmanager创建的新的虚拟磁盘。这比较容易理解。 或者使用vmware utility菜单中的expand命令,增加虚拟机的最大磁盘空间。 新增一个磁盘,比较简单。进入虚拟机后。/sbin/fdisk -l会发现有一个磁盘没有挂载任何的文件系统。如/dev/hda

/sbin/fdisk /dev/hda来对这个磁盘进行分区,并选择lvm类型的文件系统。如下 # /sbin/fdisk /dev/hda The number of cylinders for this disk is set to 22192. There is nothing wrong with that, but this is larger than 1024, and could in certain setups cause problems with: 1) software that runs at boot time (e.g., old versions of LILO) 2) booting and partitioning software from other OSs (e.g., DOS FDISK, OS/2 FDISK) Command (m for help): t Selected partition 1 Hex code (type L to list codes): 8e 此处选8e是设置磁盘格式为lvm, 在command下可输入l查看 Command (m for help): w The partition table has been altered! Calling ioctl() to re-read partition table. Syncing disks. 将该盘设为lvm格式,是为了让几个lvm物理卷构成一个卷组,并最终都挂载到/目录下。因为我的/空间满了 这里又是扩大硬盘容量,又是新增硬盘,主要是为了实验。图方便的话,直接用其中一种方式皆可。 但是,从vmware setting 上扩大磁盘后,在linux下只会显示硬盘大小改变了,可并没有扩充文件系统啊。 可以利用:resize2fs和parted分区工具。 参考:resize2fs https://www.sodocs.net/doc/2618288099.html,/u/6303/showart_407254.html parted https://www.sodocs.net/doc/2618288099.html,/index.php/linux/34-linuxbase/1190-command.html

VM虚拟机中Linux扩展根分区空间

VM虚拟机中Linux扩展根分区空 间

修改记录

目录 1检查LVM (1) 2VMWare扩展设置 (1) 3开启虚拟机 (2) 4查看分区状况 (3) 5查看lvm状态 (3) 6生成分区/dev/sda3 (4) 7重读磁盘分区 (5) 8格式化/dev/sda3 (5) 9lvm 扩容 (5)

1 检查LVM 看到文章说必须基于LVM,那是不是呢?命令检验一下。据说centos默认安装也是LVM的[root@SQL2 ~]# lvdisplay 2 VMWare扩展设置 关闭centos,打开VMWare软件,展开需要扩展的linux服务器 按如图所示步骤,点出扩展磁盘容量对话框

此处,改成80,启动虚拟机 3 开启虚拟机 #查看当前硬盘使用情况,如下所示,50G而已 [root@SQL2 ~]# df -h Filesystem Size Used Avail Use% Mounted on /dev/mapper/centos-root 46G 12G 35G 25% / devtmpfs 1.9G 0 1.9G 0% /dev tmpfs 1.9G 84K 1.9G 1% /dev/shm tmpfs 1.9G 8.9M 1.9G 1% /run tmpfs 1.9G 0 1.9G 0% /sys/fs/cgroup /dev/sda1 497M 159M 339M 32% /boot tmpfs 379M 12K 379M 1% /run/user/42 tmpfs 379M 0 379M 0% /run/user/0

Linux中VMware虚拟机增加磁盘空间的扩容操作

Linux中VMware虚拟机增加磁盘空间的扩容操作 用VMwareware虚拟机安装的RedHatEnterpriseLinux系统剩余空间不足,造成软件无法正常安装。如果重新装一遍系统就需要重新配置好开发环境和软件的安装配置。通过上网搜集的资料,结合自己的实践,总结了如下扩大硬盘空间的详细步骤,希望对大家有帮助。 (1)打开VMware,选择Edit Virtual mache settings,Utilities下拉框中找到Expand如下图 (2)将磁盘空间扩大到50G,点击Expand即可,随后进入一个较长的Expand过程,完成后这是新的空间已经增加,但linux环境下还不可见。(3)启动VMware环境下的Linux操作系统,添加新分区,需要root账号身份。 3.1【fdisk -l】最大分区为/dev/sda3,说明新创建的分区将会是sda4 3.2输入【fdisk /dev/sda】 3.2.1命令行提示下输入【m】 3.2.2输入命令【n】添加新分区。 3.2.3输入命令【p】创建主分区。 3.2.4输入【回车】,选择默认大小,这样不浪费空间 3.2.5输入【回车】,选择默认的start cylinder。 3.2.6输入【w】,保持修改 3.3输入【reboot】重启linux,必须reboot,否则/dev/sda4无法格式化。 3.4这时在/dev/目录下,才能看到了新的分区比如/dev/sda4 3.5【mkfs.ext2 /dev/sda4】格式化 3.6在根目录下创建disk4目录

3.7【mount /dev/sda4 /disk4/】将分区mount到/disk4/上 3.8在vim修改/etc/fstab文件,加入【/dev/sda4 /disk4ext2defaults00】一行,并保存,实现开机自动mount。 至此,新增加的磁盘空间容量,即可在disk4上体现,并且重新开机自动mount该分区,追加磁盘空间的工作完毕。 如果当前磁盘无容可阔,可以用增加磁盘的方法,在VMware主界面,选择 【VMware】下拉菜单,选择【Settings】,用【Add】方式增加一块磁盘,后面的操作类似,不再重复。

VMware虚拟机硬盘扩容

VMware虚拟机的硬盘容量的扩展 操作虚拟机GUEST是Turbolinux系统。 1、 先增加磁盘容量 在实体机下通过VMware工具有2种方法: 1.1、工具vmware-vdiskmanager.exe 进入DOS命令行,找到vmware-vdiskmanager.exe所在目录。 >CD D:\Program Files\VMware\VMware Workstation >vmware-vdiskmanager.exe -x 30GB "H:\Virtual Machines\Turbolinux\Turbolinux.vmdk" 出现提示,只需等待完成即可: Grow: 100% done. Disk expansion completed successfully. 备注: 1、文件名应该用双引号括起,特别是含有空格的。 2、MB,GB一定不要忘记B。 3、需要强调的一点是,调整硬盘大小之后的效果,相当于增加 了原来物理硬盘的柱面数目。因此,文件系统并不会自动增长。需要重新调整文件系统的大小。 1.2、设置Edit virtual machine settings 打开VMware,Edit virtual machine settings,选择add就可以加硬盘了。 2、 再调整文件系统 进入虚拟机Turbolinux,打开终端。 [root@localhost ~]fdisk –l [root@localhost ~]fdisk /dev/hda N P 3

W 增加分区3(hda3) 保存, [root@localhost ~]reboot 然后把一个闲置的/dev/hda3分区挂上,并给VolGroup00/LogVol00扩容,正好原来/VolGroup00/LogVol00就放在一个lvm的lv上 先把磁盘/dev/sdc加入到卷组MyLVM中 // 创建物理卷 [root@localhost ~]pvcreate /dev/hda3 // 对现有的VolGroup00 做扩展 // 扩展卷组 [root@localhost ~]vgextend VolGroup00 /dev/hda3 // 直接扩展/dev/VolGroup00/LogVol00 分区,不用umount,也不需要重启 #扩展逻辑卷 [root@localhost ~]lvextend -l +100%FREE /dev/VolGroup00/LogVol00 #resize 逻辑卷 [root@localhost ~]lvresize -l +100%FREE /dev/VolGroup00/LogVol00 resize ext3文件系统 [root@localhost ~]resize2fs /dev/VolGroup00/LogVol00

VMware中的Linux增加硬盘容量

案例1 vmware中centos的磁盘大小20G->30G 现象:fdisk -l可以看到增大后的磁盘总量,但是需要增加分区并格式化然后挂载才能使用. 一、vmware中的设置 先关闭虚拟机 vm->settings->hard disk->utilities->expand->输入大小(增加后的大小) 二、启动虚拟机,进入命令行 1、fdisk /dev/sda进入命令行Command (m for help): 2 、输入p 列出分区表 3 、输入n 增加分区 4、选择p,即primary partition,回车后会自动分配分区号,一般默认情况在已有分区号上加1,已有3则为4。 5 、输入w 保存退出,fdisk -l 查看新的分区布局 6 、重启 7、格式化为ext3格式mkfs.ext3 /dev/sda4 8、挂载到某个目录 mkdir /cm mount /dev/sda4 /cm df -h //查看分区挂载及使用情况 9、设置开机自动加载此分区 vi /etc/fstab 分区表文件 末尾添加 /dev/sda4 /cm ext3 defaults 0 0 ps :如果修改出错,会造成无法进入桌面环境,只能进到字符界面原因是出错后启动根目录(/)的以只读的挂载模式,编辑后就算强制保存了也不会生效。解决方法: 执行修改挂载的读写权限mount -o remount, rw / 重新修改/etc/fstab 重新启动计算机即可。

案例2 用VMwareware虚拟机安装的Red Hat Enterprise Linux系统剩余空间不足,造成软件无法正常安装。如果重新装一遍系统就需要重新配置好开发环境和软件的安装配置。通过上网搜集的资料,结合自己的实践,总结了如下扩大硬盘空间的详细步骤,希望对大家有帮助。 (1)打开VMware,选择Edit Virtual mache settings,Utilities下拉框中找到Expand如下图 (2)将磁盘空间扩大到50G,点击Expand即可,随后进入一个较长的Expand过程,完成后这是新的空间已经增加,但linux环境下还不可见。

Linux中VMware虚拟机硬盘空间扩大方法

Linux中VMware虚拟机硬盘空间扩大方法 随着Linux虚拟机的不断使用,在VMware中经常遇到预先装好的linux 虚拟机的硬盘空间过小的问题,造成很多软件不能安装,而重新装一个,又挺麻烦。所以,vmware 硬盘扩容的方法。总结如下: 1、挂载点必须是一个目录。 2、一个分区挂载在一个已存在的目录上,这个目录可以不为空,但挂载后这个目录下以前的内容将不可用。 一:首先使用VMware工具扩容分配的硬盘空间: 1 、 vmware 提供一个命令行工具, vmware-vdiskmanager.exe ,位于 vmware 的安装目录下,比如 C:\Program Files\VMware\VMware Workstation\vmware-vdiskmanager.exe. 在 windows 下运行 cmd ,转到 vmware 的安装目录 vmware-vdiskmanager.exe 可以查看帮助 2. 对于扩容,可以输入下列命令: vmware-vdiskmanager -x 50Gb "D:\VMware\WinXP\myLinux.vmdk" 注:要扩容的系统这时不能在运行,参数 "-x" 表示要扩展虚拟机硬盘空间,紧随其后的数字是要扩展到的大小 ( 本例为扩展到 50GB ,这是一个磁盘总量,包含了原先

的磁盘容量 ) 。最后是指定要操作的虚拟机磁盘的具体文件,要是路径名中有空格,必须以双引号括起来。按回车键开始执行,执行完毕,退出命令提示符窗口, 重启 VMware ,会发现虚拟机硬盘空间已变成 50GB 了。 我们重启虚拟机后,发现虚拟机的硬盘是变成 50GB 了,但进入 linux 系统后,用 "df -ah" 查看发现硬盘空间还是原先那么大。 虽然已经扩大了磁盘,但是由于还没有经过分区,指定文件系统,所以 linux 操作系统无法识别(其实就相当于你的硬盘虽然大了,但是你并没有对其进行分区是一个道理)。下面我们进行分区处理。 方法二:使用VM图形界面,关闭虚拟机,编辑虚拟机配置,直接将硬盘空间扩容。 3. 分区:(这时要切换为 Root 用户,Ubuntu下使用sudo命令) fdisk 命令: fdisk -l : 打印当前的磁盘分区表,这时我们可以看到磁盘的总量的确增加到 50GB 了,但是分区只有以前的那几个原有的分区。 键入命令: fdisk /dev/sda “sda 就是经过扩容的硬盘,为 SCSI 硬盘, IDE 类型硬盘对应为 hda ,是对该硬盘进行操作” 键入: m “ 列出 fdisk 的帮助” 我们在这里是要添加一个新分区,即将扩容出来的那部分做成一个新分区,这样才能被操作系统挂载识别。

vmware 调整虚拟机硬盘大小

调整vmware虚拟机硬盘空间 大家在使用vmvare安装虚拟机的时候,常发现空间不够用,这时,如果重新安装的话,太费时间,这里给大家一个技巧轻松扩展你的硬盘空间 1. 首先使用命令把最大空间限制改掉 举列: D:\Program Files\VMware\VMware Workstation\vmware-vdiskmanager.exe -x (小写)10Gb(单位一定要写,或MB) d:\linux.vmdk -x代表要扩展的空间。 1). 将虚拟机空间扩展为10GB 2). 重建分区, 这样原来的数据不会丢失. #fdisk /dev/sda # n 这里出现如下选项 # e (extended) p (primary 1-4) 这里我选p # 开始与结束的cylinder取默认值即可 # w 3).mkfs.ext2 /dev/sda3

有些系统可能提示mkfs.ext2::no such device or address while trying to determine filesystem size 这时用户需重启一下系统,再运行该命令 编辑/etc/fstab文件,加入下面的内容 /dev/sda3 /data ext2 defaults 1 2 4).reboot 方法二: 第一步:按Win+R键调出运行对话框,输入“cmd”并按回车键启动命令提示符口。 第二步:进入VMware的安装目录(比如我的安装目录为:D:ProgramFilesVMwarelVMware Workstation),在命令提示符后输入"vmware-vdiskmanager",什么参数也不加直接按回车键,可显示这一命令的说明。 第三步:参考说明,执行类似下面的命令:vmware-vdiskmanager -x l6Gb "D:\Red Hat\Red Hat Enterprise Linux 5.vmdk" 参数"-x"表示要扩展虚拟机硬盘空间,紧随其后的数字是要扩展的大小(本例为扩展到16GB,这是一个磁盘总量,包含了原先的磁盘容量)。要输入完整路径,最后是指定要操作的虚拟机磁盘的具体文件,因为路径名中有空格,所以必须以双引号括起来。按回车键开始执行,执行完毕,退出命令提示符窗口,重启VMware,会发现虚拟机硬盘空间已变成16GB了。如果虚拟机中存在还原点,则需要先删除还原点才可以扩展磁盘空间,扩展成功后,在设置磁盘还原点。

虚拟机不重启热添加磁盘扩容方法(修改版)

Linux虚拟机不重启热添加磁盘扩容方法 1、应用背景说明 很多Linux系统虚拟机在使用一段时间后,面临空间不够的问题,需要扩容磁盘空间,但是Linux系统虚拟机不像Windows 2008R2系统虚拟机那样,可以直接将虚拟机磁盘配置那增大磁盘的空间,然后进入到系统刷新磁盘控制器即可看到增加的磁盘空间,然后通过扩展分区即可将分区扩大使用。 另外,Linux系统物理机虽然也支持热插拔硬盘,但是物理机中一般很难发现新加的硬盘在哪一个控制器下哪一个通道的哪一个ID号,导致容易加,但是无法精准通过命令扫描掉,但是虚拟机Linux的磁盘的这些信息可以在硬件配置信息那里看到,从而节省了很多麻烦。虽然Linux系统虚拟机也可直接在原有磁盘配置上增大空间,然后然系统总线重新扫描检测到增大的空间,但是无法直接扩展文件挂载目录,而且增大的磁盘空间虽然能分区但是写入不到系统内核的分区表,导致新建的这个分区无法格式化或者挂载。 综上,一般情况下,都是在linux系统虚拟机配置里直接增加一个新的磁盘,而不是扩大之前的磁盘空间。 注:Windows 2003系统不支持直接扩展分区; Windows 2008R2及以上系统需要将C、D等分区放在不同的磁盘中,才能直接的扩容,不然只能紧邻剩余空间的分区才能扩容; 2、linux系统要求

系统硬盘最好做了LVM; 因为很多系统应用管理员所看到的是某些目录没有了空间,希望将这些目录所在的文件系统空间增大,以便继续存放文件和数据,而不是另外加一个空目录进来,让应用管理员将后面的数据存放在新的空目录下。所以综上,系统有做LVM的话更能满足系统管理员的要求。 3、实验环境介绍 一台2个CPU、4G内存的Linux系统,一个50G的磁盘,系统版本CentOS 6.5。分区如下: 因为系统是basic安装,从上图中可以看到系统有做LVM; 其中磁盘为sda,/boot分区500M,所占为sda1,剩余的磁盘一起做了一个PV,所占为sda2,属于VolGroup这个VG; 在这个VG下有2个LV,一个为lv_root,大小45G,挂载在 /下,另外个LV为lv_swap,大小2G,是交换分区。 4、检查系统的SCSI总线和磁盘信息

为Linux虚拟机增加硬盘空间

为Linux虚拟机增加硬盘空间 1、首先,在虚拟机管理页面增加虚拟机的硬盘空间。没有截图。 2、进入虚拟机,root登陆,打开console。 3、df / 看一下。 文件系统block大小为1K,目前可用大约1.3G。没空间了呵呵。 4、fdisk–l 看一下。注意这里是小写字母,不是数字。 可以看到sda为硬盘,总大小150.3G; 目前有sda1 104391K,大约10M。sda2 41833260K,大约40G(1个Block为1K)其中sda1 为boot分区。 还有接近100G没有利用。下面就要利用这新增的100G。 5、先新建分区。在sda上新建分区。命令为:fdisk /dev/sda 注意没有带数字,不是fdisk /dev/sda1、fdisk /dev/sda2 输入fdisk /dev/sda命令后,会出现提示符: Command (m for help): 输入P查看一下当前状态。 5.1输入n为新建分区。 输入后提示你选择是新建扩展分区(extended),还是主分区(primary)。输入e为extended,输入p为primary 5.2这里输入e。输入e后,问你分区号, 5.3 输入分区号3,即sda3 因为1和2已经存在了嘛。

5.4 输入p查看一下sda当前状态,发现现在多了个sda3 6、扩增分区,需要分割为逻辑分区才能使用。因此需建立逻辑分区。 6.1 输入n新建分区。因为已经有extended分区,一个系统只能有一个extended partition故这次会问你是建主 分区还是逻辑分区(logical)。 6.2 输入l (注意是小写字母),系统会提示你输入开始cylinder号,结束cylinder号或者大小。 我这里输入了一个+5120M,呵呵不到5G 失误了。 输入P查看一下当前状态: 共有sda1(主分区)、sda2 (主分区)、sda3 (扩展分区)、sda5 (逻辑分区) 对了没有sda4 因为1、2、3、4是给主分区和扩增分区用的,故逻辑分区直接到了sda5

VMware虚拟机硬盘扩容

VMware虚拟机的硬盘容量的扩展操作虚拟机GUEST是Turbolinux系统。 一、先增加磁盘容量 在实体机下通过VMware工具有2种方法: 1.1、工具vmware-vdiskmanager.exe 进入DOS命令行,找到vmware-vdiskmanager.exe所在目录。 >CD D:\Program Files\VMware\VMware Workstation >vmware-vdiskmanager.exe -x 30GB "H:\Virtual Machines\Turbolinux\Turbolinux.vmdk" 出现提示,只需等待完成即可: Grow: 100% done. Disk expansion completed successfully. 备注: 1、文件名应该用双引号括起,特别是含有空格的。 2、MB,GB一定不要忘记B。 3、需要强调的一点是,调整硬盘大小之后的效果,相当于增加了原来物理硬盘的 柱面数目。因此,文件系统并不会自动增长。需要重新调整文件系统的大小。 1.2、设置Edit virtual machine settings 打开VMware,Edit virtual machine settings,选择add就可以加硬盘了。 二、再调整文件系统 进入虚拟机Turbolinux,打开终端。 [root@localhost ~]fdisk –l [root@localhost ~]fdisk /dev/hda N P 3 W 增加分区3(hda3) 保存, [root@localhost ~]reboot 然后把一个闲置的/dev/hda3分区挂上,并给VolGroup00/LogVol00扩容,正好原来/VolGroup00/LogVol00就放在一个lvm的lv上 先把磁盘/dev/sdc加入到卷组MyLVM中 // 创建物理卷

Vm虚拟机中Linux扩展磁盘空间

VM虚拟机中Linux扩展磁盘空间的方法 环境:Redhat linux5企业版、Vmware7.1(已汉化) 本文主要讨论两种扩展磁盘的方法,一种是在原有的基础上进行扩展磁盘,并分区,另一种是添加一个新的硬盘,并分区挂载,个人整理笔记,如有不妥、忘见谅! 一、Vm虚拟机下Linux扩展原有磁盘空间,详细步骤如下: 1、在虚拟机设备中双击硬盘,进入虚拟机设置界面 2、点击实用程序---扩展容量,选择磁盘容量,点击扩展,(本教程原为12G,现扩展为30G) 需注意以下几点: linux只能扩展磁盘容量而不能减小哟呵, 所填写的容量为总容量,即包含已分区的磁盘, 扩展容量时不能有快照哟,大家可以先把快照删除掉,见下图

选择扩展容量20G,即总容量为20G(已经包括之前的8G),点击扩展,见下图 4、启动Linux,查看系统分区,并创建分区sda3,命令如下:红色字体命令,#后为注释: [root@localhost~]#fdisk-l Disk/dev/sda:32.2GB,32212254720bytes 255heads,63sectors/track,3916cylinders Units=cylinders of16065*512=8225280bytes Device Boot Start End Blocks Id System /dev/sda1*11310439183Linux /dev/sda214156612474472+8e Linux LVM #我的电脑有2个分区-sda1sda2 [root@localhost~]#fdisk/dev/sda The number of cylinders for this disk is set to3916. There is nothing wrong with that,but this is larger than1024, and could in certain setups cause problems with: 1)software that runs at boot time(e.g.,old versions of LILO) 2)booting and partitioning software from other OSs (e.g.,DOS FDISK,OS/2FDISK) Command(m for help):m Command action a toggle a bootable flag b edit bsd disklabel

virtualbox中调整虚拟机的硬盘大小

由于经常需要在Linux虚拟机下测试一些环境,安装的东西比较多,导致之前分配给Linux 虚拟机中的某个分区的空间不够用了,但是又不想重装系统,想直接给空间不足的那个分区调整空间。用的是Ubuntu系统,当时在安装的时候记得当时默认采用LVM来管理硬盘空间的,所以在网上搜索被很多资料,发现是可以动态调整LVM中的逻辑卷大小的,即然可以采用调整LVM的方式来增加分区空间,那么理论上肯定是可行的,于是就到处找资料,做试验验证实际是否可行。 先说一下我的系统环境: 宿主机是:xp sp3 虚拟机软件是:Oracle VM VirtualBox 4.1.16 虚拟机Guest系统是:Ubuntu 10.04 Server x32 虚拟机Ubuntu当时安装时是采用默认的LVM硬盘管理(这个是基础,如果当时没有采用LVM管理的话,也不能动态调整分区的大小了)。当时在VirtualBox中给Ubuntu分配的是8G的空间,固定大小的,随着使用情况的变化,8G的空间很快就用完被,必须增加新的空间。 主要步骤如下: 1:在VirtualBox调整虚拟机硬盘的大小 2:在虚拟机中用fdisk命令将新加的硬盘空间分区,新分区的类型要是LVM的类型8e 3:在虚拟机新建物理卷、卷组、合并卷组、扩展逻辑卷的大小 此方法是己经验证成功了的,中间只重启过一次机器,而且文件都没有损坏(不过在正式环境修改之前,各位自己必须做备份),详细的过程比较长,如下: 上面是我环境的基本信息,下面就说明一下具体的操作过程: 先把调整之前的硬盘情况列出来: root@bogon:/home/roger# df -h Filesystem Size Used Avail Use% Mounted on /dev/mapper/bogon-root 6.7G 1.6G 4.7G 26% / none 494M 212K 494M 1% /dev none 501M 0 501M 0% /dev/shm none 501M 328K 501M 1% /var/run none 501M 0 501M 0% /var/lock /dev/sda1 228M 23M 194M 11% /boot root@bogon:/home/roger# fdisk -l Disk /dev/sda: 8589 MB, 8589934592 bytes 255 heads, 63 sectors/track, 1044 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: 0x0005d850 Device Boot Start End Blocks Id System

调整VMware虚拟机硬盘容量大小

调整VMware虚拟机硬盘容量大小 担心创建的虚拟机硬盘容量太大会占用真正的硬盘空间,把硬盘的容量设置得很小,可是等到给虚拟机装好系统后再装其他的软件,才发现硬盘容量不够用了。如果重建虚拟机,还要重新再装一遍操作系统,非常麻烦,而VMware中又不能直接修改虚拟机的硬盘容量大小,真是麻烦。 其实在VMware安装目录下就有一个vmware-vdiskmanager.exe程序,它是一个命令行工具,可用来修改虚拟机硬盘的大小。方法如下: 第一步:按Win+R键调出运行对话框,输入“cmd”并按回车键启动命令提示符窗口。 第二步:进入VMware的安装目录(比如我的安装目录为:D:ProgramFilesVMwarelVMware Workstation),在命令提示符后输入"vmware-vdiskmanager",什么参数也不加直接按回车键,可显示这一命令的说明。 第三步:参考说明,执行类似下面的命令: vmware-vdiskmanager -x l6Gb "DVMwareWinXPWindows XP Professional.vmdk" 参数"-X"表示要扩展虚拟机硬盘空间,紧随其后的数字是要扩展的大小(本例为扩展到16GB,这是一个磁盘总量,包含了原先的磁盘容量)。最后是指定要操作的虚拟机磁盘的具体文件,因为路径名中有空格,所以必须以双引号括起来。按回车键开始执行,执行完毕,退出命令提示符窗口,重启VMware,会发现虚拟机硬盘空间已变成16GB了。 如果原来的虚拟机硬盘已被分成了多个分区,那么在通过vmware-vdiskmanager.exe扩大了硬盘空间后还得在盛拟机系统中安装第三方分区工具对虚拟机分区做出调整。详细信息可参阅: /kb/enduser/std_adp.php?p_faqid=1647 虚拟机硬盘扩容 现有虚拟机,C盘容量想扩大(10G扩展到20G),但不想重新再划分一个硬盘 系统配置: windows XP SP2 VMWare 5.5 中文版 虚拟机配置: Windows 2003 企业版 建立了一个快照 注意:扩容是针对原始磁盘文件(扩展名为*.vmdk)进行的操作,且扩容前要删除所有在该磁盘上建立的快照(可能高版本不需要删除快照) 我们用的工具是 VMWare 安装目录下的 vmware-vdiskmanager.exe;在命令提示符下键入: vmware-vdiskmanager.exe /? 后回车,可以看到帮助信息,最下面还有几个例子。我们用到的是 -X 参数。 首先要进入 C:\Program Files\VMware\VMware Workstation(VMWare 的安装目录)目录,把 vmware-vdiskmanager.exe文件和所有扩展名为*.dll 的文件(因为不知道哪个是vmware-vdiskmanager.exe 需要的 DLL,所以拷贝所有的)拷贝到虚拟机文件目录中,我在这里要扩展的虚拟机文件在 D:\My Document\My VirtualMachines\Windows2003Enterprise,然后点“开始”-“运行”,输入cmd 后点“确定”,打开DOS 窗口,在DOS 窗口中切换到D:\My Document\My Virtual Machines\Windows2003Enterprise目录,输入下面的命令 vmware-vdiskmanager.exe -x 12Gb Windows2003Enterprise.vmdk

相关主题