centos6.5磁盘扩容

时间:2023-03-08 18:06:39

3台虚拟机都是20G磁盘,用着用着发现不够了,先扩容了一台,各种百度...各种坑,每个人的情况不一样,发现不一样的地方最后立即百度查看。一台扩容成功后,打算再扩容一台,目的是留一个记录。(我是用xshell超级用户链接的的虚拟机)

扩容大致分为3步:1.外部设置;2.设置分区;3.重启;4挂载;(挂载过程中解决了物理卷、卷组、逻辑卷、格式化问题,如果挂载失败,则可以一次解决排除这些问题)

1.关闭虚拟机(不是挂起),点击“虚拟机/设置”,选择“硬盘”,扩容至40G

centos6.5磁盘扩容

2.启动虚拟机,root用户进入linux系统,添加新的分区

2.1查看当前分区状况

[root@slave1 /root]$ fdisk  -l

Disk /dev/sda: 42.9 GB, 42949672960 bytes
255 heads, 63 sectors/track, 5221 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: 0x000381a8

Device Boot Start End Blocks Id System
/dev/sda1 * 1 39 307200 83 Linux
Partition 1 does not end on cylinder boundary.
/dev/sda2 39 2358 18631680 83 Linux
/dev/sda3 2358 2611 2031616 82 Linux swap / Solaris

当前最大分区为sda3,新创建的分区为sda4。(请留意加重部分)

2.2输入以下命令

[root@slave1 /root]$ fdisk /dev/sda 

WARNING: DOS-compatible mode is deprecated. It's strongly recommended to
switch off the mode (command 'c') and change display units to
sectors (command 'u').

Command (m for help): m   #2.3命令行提示下输入【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): n    #输入命令【n】添加新分区
Command action
e extended
p primary partition (1-4)
p     #输入命令【p】创建主分区。
Selected partition 4
First cylinder (2611-5221, default 2611): #回车 
Using default value 2611
Last cylinder, +cylinders or +size{K,M,G} (2611-5221, default 5221): #回车
Using default value 5221

Command (m for help): w #输入【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 or after you run partprobe(8) or kpartx(8)
Syncing disks.


3.重启虚拟机!!!
4.回到根目录,建立一个文件夹disk4 (注意,在根目录,是root目录的上一级
[root@slave1 /]$ mkdir disk4
[root@slave1 /]$ mount /dev/sda4 /disk4
mount: you must specify the filesystem type

挂载的时候发生了报错,看红色字体,原因可能是没有物理卷、卷组、逻辑卷、格式化引起的(4.1,4.2,4.3主要用于解决这3个问题)

4.1查看物理卷:

[root@slave1 /]$ pvs

没有输出!!!说明没有物理卷,创建的分区是sda4,这里为这个分区创建物理卷。

[root@slave1 /]$ pvcreate /dev/sda4
Physical volume "/dev/sda4" successfully created

此时再查看物理卷,ok

[root@slave1 /]$ pvs
PV VG Fmt Attr PSize PFree
/dev/sda4 lvm2 a-- .99g .99g

4.2查看卷组

[root@slave1 /]$ vgs
No volume groups found

报错,没有,先创建卷组vgdata

[root@slave1 /]$ vgcreate vgdata /dev/sda4
Volume group "vgdata" successfully created

再次查看卷组,OK!!!

[root@slave1 /]$ vgs
VG #PV #LV #SN Attr VSize VFree
vgdata wz--n- .99g .09g
[root@slave1 /]$ vgdisplay
--- Volume group ---
VG Name vgdata
System ID
Format lvm2
Metadata Areas
Metadata Sequence No
VG Access read/write
VG Status resizable
MAX LV
Cur LV
Open LV
Max PV
Cur PV
Act PV
VG Size 19.99 GiB
PE Size 4.00 MiB
Total PE
Alloc PE / Size / 4.90 GiB
Free PE / Size / 15.09 GiB
VG UUID f8keeP-x5yH-qdfd-9roM-hbAt-ALEI-yYG4wB

4.3查看逻辑卷

[root@slave1 /]$ lvdisplay
No volume groups found

报错,没有,创建逻辑卷

[root@slave1 /]$ lvcreate -L4.9G vgdata -n lvolhome /dev/sda4
Rounding up size to full physical extent 4.90 GiB
Logical volume "lvolhome" created

查看创建结果,OK!!!

[root@slave1 /]$ lvdisplay
--- Logical volume ---
LV Path /dev/vgdata/lvolhome
LV Name lvolhome
VG Name vgdata
LV UUID dI2lMQ-sayc-XGlG-xa9I-USfC-97kt-0Kbt6k
LV Write Access read/write
LV Creation host, time slave1, -- :: -
LV Status available
# open
LV Size 4.90 GiB
Current LE
Segments
Allocation inherit
Read ahead sectors auto
- currently set to
Block device :

4.4格式化磁盘

[root@slave1 /]$ mkfs.ext4 /dev/sda4
mke2fs 1.41.12 (17-May-2010)
/dev/sda4 is apparently in use by the system; will not make a filesystem here!

 报错、手动移除DM管理

[root@slave1 /]$ dmsetup status
vgdata-lvolhome: linear
[root@slave1 /]$ dmsetup remove_all
[root@slave1 /]$ dmsetup status
No devices found

重新格式化,OK!!!

[root@slave1 /]$ mkfs.ext4 /dev/sda4
mke2fs 1.41. (-May-)
Filesystem label=
OS type: Linux
Block size= (log=)
Fragment size= (log=)
Stride= blocks, Stripe width= blocks
inodes, blocks
blocks (5.00%) reserved for the super user
First data block=
Maximum filesystem blocks=
block groups
blocks per group, fragments per group
inodes per group
Superblock backups stored on blocks:
, , , , , , , , , Writing inode tables: done
Creating journal ( blocks): done
Writing superblocks and filesystem accounting information: done This filesystem will be automatically checked every mounts or
days, whichever comes first. Use tune2fs -c or -i to override.

重新挂载,没有报错,mount成功,磁盘扩容成功

[root@slave1 /]$ mount /dev/sda4 /disk4

挂载前:

[root@slave1 /root]$ df -lh
Filesystem Size Used Avail Use% Mounted on
/dev/sda2 18G .0G 14G % /
tmpfs 491M 72K 491M % /dev/shm
/dev/sda1 291M 34M 242M % /boot

挂载后:

Filesystem      Size  Used Avail Use% Mounted on
/dev/sda2 18G .1G 14G % /
tmpfs 491M 72K 491M % /dev/shm
/dev/sda1 291M 34M 242M % /boot
/dev/sda4 20G 172M 19G % /disk4