Answers:
您将无法使用GParted,因为文件系统位于LVM上,而GParted不支持该功能。
首先,备份虚拟机。然后从命令行以“ root”身份执行以下操作。
看来您已经重新启动,但以防万一,请确保内核能够识别更大的磁盘
echo 1 > /sys/class/scsi_disk/0:0:0:0/device/rescan
使用fdisk调整第二个分区的大小
fdisk /dev/sda
p # print current
d # delete
- 2
n # create
- p # primary partition
2 # partition number
- default first/last cylinders
t # change partition id
- 2
- 8e (hex code)
p # print the current again to verify it's expanded
w # write changes
重新启动虚拟机
shutdown -r now
备份后,调整LVM物理卷的大小
pvresize /dev/sda2
现在调整LVM逻辑卷的大小(注意:我无法根据屏幕快照来解密您的逻辑卷名称,因此是假设的LogVol00
。您可以通过运行确定lvdisplay
。)
lvresize -l +100%FREE /dev/VolGroup00/LogVol00
最后,让我们调整文件系统的大小
resize2fs -p /dev/VolGroup00/LogVol00
验证文件系统是否更大
df -h
完成
dmesg
以确认磁盘被视为新大小
以下步骤将运行Centos 6 EXT4 VPS的VMWare EXSi 5.5上的分区从12G扩展到了26GB。
1)确定设备名称(默认为/ dev / sda),并通过运行以下命令确认新的大小:
# fdisk -l
2)获取/ dev / sda设备的分区列表:
# ls -al /dev/sda*
brw-rw---- 1 root disk 8, 0 Dec 29 15:32 /dev/sda
brw-rw---- 1 root disk 8, 1 Dec 29 15:32 /dev/sda1
brw-rw---- 1 root disk 8, 2 Dec 29 15:32 /dev/sda2
3)创建新的主分区
# fdisk /dev/sda
Then type:
n (enter) [create new partition]
p (enter) [primary partition]
3 (enter) [next available number from listed /dev/sda partitions in 2)
(enter) [start cylinder]
(enter to use all available physical space) or specify size in +cylinders, +size{K,M,G}
t (enter) [change partition type]
3 (enter) [selecting /dev/sda3 partition]
8e (enter) [this sets partition type to Linux LVM or type L then enter to see list of types]
w (enter)
The partition table has been altered!
4)重新启动Centos 6.X,然后以root特权重新登录
# reboot
5)检查新分区是否准备就绪,并输入“ 8e”:
# 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 2089 16264192 8e Linux LVM
/dev/sda3 2089 3916 14678054 8e Linux LVM
6)创建物理体积:
# pvcreate /dev/sda3
Physical volume "/dev/sda3" successfully created
7)找出卷组名称:
# vgdisplay
--- Volume group ---
VG Name vg_app1
...
8)扩展物理体积:
# vgextend vg_app1 /dev/sda3
Volume group "vg_app1" successfully extended
9)将现有的卷组扩展到新的物理卷(可以将+ 100%FREE更改为所需的大小)。由于我们正在扩展根分区,因此指向vg_app1卷组中的lv_root。
# lvextend -l +100%FREE /dev/vg_app1/lv_root
Size of logical volume vg_app1/lv_root changed from 11.63 GiB (2978 extents) to 25.63 GiB (6561 extents).
Logical volume lv_root successfully resized
10)调整逻辑根卷的大小:
# resize2fs /dev/vg_app1/lv_root
resize2fs 1.41.12 (17-May-2010)
Filesystem at /dev/vg_app1/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_app1/lv_root to 6718464 (4k) blocks.
The filesystem on /dev/vg_app1/lv_root is now 6718464 blocks long.
注意:如果它是Red Hat虚拟机,请使用ext2online而不是resize2fs。
11)检查可用空间:
# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/vg_app1-lv_root
26G 10G 14G 42% /
tmpfs 9.8G 0 9.8G 0% /dev/shm
/dev/sda1 477M 88M 364M 20% /boot
简单。以root用户身份进入VM。键入“ fdisk -l”-如果您已经看到新的磁盘大小-很好。
如果不是,请尝试 partprobe
-如果仍然看不到新磁盘大小,请重新启动。
现在 fdisk /dev/sda
partprobe
pvresize /dev/sda2
现在,您的VG VolGroup00具有20 GB的更多空间。做任何你喜欢的事。就像在物理系统上一样(例如,调整LV的大小,然后调整FS的大小)。
下载Gparted live CD ISO。然后将ISO附加到CentOS并从实时cd引导(转到虚拟机设置,选择“ CD / DVD”,然后从右侧面板中选择“使用ISO”)。然后选择要调整大小的分区。单击分区菜单(顶部菜单栏),然后单击“调整大小”。然后从“编辑”菜单中选择“应用所有操作”。
在这里,我将使用一个示例分区将磁盘从5GB扩展到7GB,而不会丢失数据。您可以根据可用空间进行更改。
在增加磁盘之前,我从Linux VM中获取了以下详细信息:
# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/sda3 6.8G 2.1G 4.5G 32% /
/dev/sda1 99M 12M 83M 13% /boot
none 252M 0 252M 0% /dev/shm
/dev/sdb1 5.0G 39M 4.7G 1% /mnt/test
# fdisk -s /dev/sdb
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 652 5237158+ 83 Linux
现在关闭虚拟机。
现在,我/dev/sdb
将从命令提示符中增加VMware的现有虚拟磁盘()。注意:仅在关闭虚拟机电源后才能执行此任务。
转到虚拟磁盘位置。
# vmware-vdiskmanager -x 7Gb RedHatEnterprise_Linux_4-0.vmdk
现在它将把虚拟磁盘增长到7Gb
现在您需要打开虚拟机电源。使用PuTTY或控制台作为root用户登录到VM。
# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/sda3 6.8G 2.1G 4.5G 32% /
/dev/sda1 99M 12M 83M 13% /boot
none 252M 0 252M 0% /dev/shm
/dev/sdb1 5.0G 39M 4.7G 1% /mnt/test
它仍然显示旧尺寸。卸载要增加的分区。
# umount /dev/sdb1
在磁盘上运行文件系统修复
# fsck -n /dev/sdb1
现在是goig,它从磁盘上删除日志以使其成为ext2文件系统。
# tune2fs -O ^has_journal /dev/sdb1
现在开始分区/dev/sdb
以将增加的空间分配给/dev/sdb1
。注意:不要惊慌,您在这里不会丢失数据。
我要删除现有的文件/dev/sdb1
并重新创建可用的可用空间。
# fdisk /dev/sdb
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)
Command (m for help): p
Disk /dev/sdb: 7516 MB, 7516192768 bytes
255 heads, 63 sectors/track, 913 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Device Boot Start End Blocks Id System
/dev/sdb1 1 652 5237158+ 83 Linux
Command (m for help): d
Selected partition 1
Command (m for help): n
Command action
e extended
p primary partition (1-4)
p
Partition number (1-4): 1
First cylinder (1-913, default 1):
Using default value 1
Last cylinder or +size or +sizeM or +sizeK (1-913, default 913):
Using default value 913
Command (m for help): p
Disk /dev/sdb: 7516 MB, 7516192768 bytes
255 heads, 63 sectors/track, 913 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Device Boot Start End Blocks Id System
/dev/sdb1 1 913 7333641 83 Linux
Command (m for help): w
The partition table has been altered!
Calling ioctl() to re-read partition table.
Syncing disks.
现在,重新启动Linux计算机以使分区生效(我们也可以使用partprobe
,强烈建议重新启动计算机)。
# shutdown now -r
现在再次检查扩展文件系统,如果跳过此步骤,resize2fs
命令将建议运行它。
# e2fsck -f /dev/sdb1
e2fsck 1.35 (28-Feb-2004)
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/sdb1: 13/655360 files (7.7% non-contiguous), 22121/1309289 blocks
现在调整文件系统的大小。
# resize2fs /dev/sdb1
resize2fs 1.35 (28-Feb-2004)
Resizing the filesystem on /dev/sdb1 to 1833410 (4k) blocks.
The filesystem on /dev/sdb1 is now 1833410 blocks long.
现在检查文件系统。
# fsck -n /dev/sdb1
fsck 1.35 (28-Feb-2004)
e2fsck 1.35 (28-Feb-2004)
/dev/sdb1: clean, 13/917504 files, 30538/1833410 blocks
现在使用ext3格式重新创建分区。
# tune2fs -j /dev/sdb1
tune2fs 1.35 (28-Feb-2004)
Creating journal inode: done
This filesystem will be automatically checked every 32 mounts or
180 days, whichever comes first. Use tune2fs -c or -i to override.
重新启动Linux计算机一次即可有效地使用ext3文件系统。
# shutdown -r now
再次使用root特权登录Linux框。现在您可以找到将分区增加到7 GB的分区。
# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/sda3 6.8G 2.1G 4.5G 32% /
/dev/sda1 99M 12M 83M 13% /boot
none 252M 0 252M 0% /dev/shm
/dev/sdb1 6.9G 39M 6.7G 1% /mnt/test
对于VMWare上的CentOS 6.6,我做了以下操作,将其从30 GB增加到40 GB(请注意,我没有使用LVM,只是常规的本地linux分区(Id 83)):
注意:如果丢失数据,请先备份VM。如果一切顺利,您就不会丢失数据。
从此页面和http://positon.org/resize-an-ext3-ext4-partition的答案组合中找到的信息
fdisk
。在那使用partprobe
。SCSI重新扫描很有趣-可以在使用的磁盘上工作吗?