客户给分配了一台虚拟机,系统安装是Centos7系统,空间为80G,df -h 命令查看系统后发现只有40G左右的空间可用,剩余空间未分配。下面记录主要过程:
查看当前已分配的空间
- df -h
- [root@centosVM2 ~]# df -h
- 文件系统 容量 已用 可用 已用% 挂载点
- /dev/mapper/centos-root 35G 3.8G 32G 11% /
- devtmpfs 7.8G 0 7.8G 0% /dev
- tmpfs 7.8G 0 7.8G 0% /dev/shm
- tmpfs 7.8G 9.8M 7.8G 1% /run
- tmpfs 7.8G 0 7.8G 0% /sys/fs/cgroup
- /dev/xvda1 1014M 169M 846M 17% /boot
- tmpfs 1.6G 12K 1.6G 1% /run/user/42
- tmpfs 1.6G 0 1.6G 0% /run/user/0
发现总共只有36G左右的空间可用,接下来我们查看系统的分区结构
- lsblk
- [root@centosVM2 ~]# lsblk
- NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
- sr0 11:0 1 368K 0 rom
- xvda 202:0 0 80G 0 disk
- ├─xvda1 202:1 0 1G 0 part /boot
- └─xvda2 202:2 0 39G 0 part
- ├─centos-root 253:0 0 35G 0 lvm /
- └─centos-swap 253:1 0 4G 0 lvm [SWAP]
这个就很清晰的显示出系统的磁盘结构了,xvda是硬盘,分了两个分区xvda1和xvda2,占用40G空间,剩余应该还有40G。
- fdisk /dev/xvda
- [root@centosVM2 ~]# fdisk /dev/xvda
- 欢迎使用 fdisk (util-linux 2.23.2)。
- 更改将停留在内存中,直到您决定将更改写入磁盘。
- 使用写入命令前请三思。
- 命令(输入 m 获取帮助):p
- 磁盘 /dev/xvda:85.9 GB, 85899345920 字节,167772160 个扇区
- Units = 扇区 of 1 * 512 = 512 bytes
- 扇区大小(逻辑/物理):512 字节 / 512 字节
- I/O 大小(最小/最佳):512 字节 / 512 字节
- 磁盘标签类型:dos
- 磁盘标识符:0x000a7eaf
- 设备 Boot Start End Blocks Id System
- /dev/xvda1 * 2048 2099199 1048576 83 Linux
- /dev/xvda2 2099200 83886079 40893440 8e Linux LVM
- 命令(输入 m 获取帮助):n
- Partition type:
- p primary (2 primary, 0 extended, 2 free)
- e extended
- Select (default p): p
- 分区号 (3,4,默认 3):
- 起始 扇区 (83886080-167772159,默认为 83886080):
- 将使用默认值 83886080
- Last 扇区, +扇区 or +size{K,M,G} (83886080-167772159,默认为 167772159):
- 将使用默认值 167772159
- 分区 3 已设置为 Linux 类型,大小设为 40 GiB
- 命令(输入 m 获取帮助):t
- 分区号 (1-3,默认 3):
- Hex 代码(输入 L 列出所有代码):8e
- 已将分区“Linux”的类型更改为“Linux LVM”
- 命令(输入 m 获取帮助):wq
- The partition table has been altered!
- Calling ioctl() to re-read partition table.
- WARNING: Re-reading the partition table failed with error 16: 设备或资源忙.
- 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)
- 正在同步磁盘。
大概是显示一下分区,创建一个新的逻辑卷并指定为linux lvm格式(8e);
重启一下机器,重启完成后再次查看分区结构 lsblk
- [root@centosVM2 ~]# lsblk
- NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
- sr0 11:0 1 1024M 0 rom
- xvda 202:0 0 80G 0 disk
- ├─xvda1 202:1 0 1G 0 part /boot
- ├─xvda2 202:2 0 39G 0 part
- │ ├─centos-root 253:0 0 35G 0 lvm /
- │ └─centos-swap 253:1 0 4G 0 lvm [SWAP]
- └─xvda3 202:3 0 40G 0 part
接下来要创建卷组,即volume group。名称为data
- [root@centosVM2 ~]# vgcreate data /dev/xvda3
- Physical volume "/dev/xvda3" successfully created.
- Volume group "data" successfully created
接下来创建逻辑卷,即logic volume,可以分多个,我这里空间不多,就分一个就可以了,占用100%空间。
- [root@centosVM2 ~]# lvcreate --name datadisk -l 100%FREE data
- Logical volume "datadisk" created.
接下来格式化逻辑卷,使用mkfs指令将逻辑卷格式化成xfs格式,然后逻辑卷就可以使用mount指令挂载使用啦。
- [root@centosVM2 ~]# mkfs.xfs /dev/data/datadisk
- meta-data=/dev/data/datadisk isize=512 agcount=4, agsize=2621184 blks
- = sectsz=512 attr=2, projid32bit=1
- = crc=1 finobt=0, sparse=0
- data = bsize=4096 blocks=10484736, imaxpct=25
- = sunit=0 swidth=0 blks
- naming =version 2 bsize=4096 ascii-ci=0 ftype=1
- log =internal log bsize=4096 blocks=5119, version=2
- = sectsz=512 sunit=0 blks, lazy-count=1
- realtime =none extsz=4096 blocks=0, rtextents=0
接下来就可以挂载了
- [root@centosVM2 ~]# mkdir /disk
- [root@centosVM2 ~]# mount /dev/data/datadisk /disk
接下来再查看空间
- [root@centosVM2 ~]# df -h
- 文件系统 容量 已用 可用 已用% 挂载点
- /dev/mapper/centos-root 35G 3.8G 32G 11% /
- devtmpfs 7.8G 0 7.8G 0% /dev
- tmpfs 7.8G 0 7.8G 0% /dev/shm
- tmpfs 7.8G 9.7M 7.8G 1% /run
- tmpfs 7.8G 0 7.8G 0% /sys/fs/cgroup
- /dev/xvda1 1014M 169M 846M 17% /boot
- tmpfs 1.6G 12K 1.6G 1% /run/user/42
- tmpfs 1.6G 0 1.6G 0% /run/user/0
- /dev/mapper/data-datadisk 40G 33M 40G 1% /disk
最后,如果需要重启后自动挂载,需要在/etc/fstab里追加
- /dev/data/datadisk /disk xfs defaults 0 0