磁盘基本分区
首先我们需要为虚拟机增加几块硬盘,下图是步骤,按照图中的标示进行操作
到这里硬盘添加就是完成了,然后我们可以查看一下磁盘,查看磁盘的命令是:lsblk;
[root@localhost ~]# lsblk //查看磁盘
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 20G 0 disk
├─sda1 8:1 0 1G 0 part /boot
└─sda2 8:2 0 19G 0 part
├─centos-root 253:0 0 17G 0 lvm /
└─centos-swap 253:1 0 2G 0 lvm [SWAP]
第一步:创建分区,使用命令:第一步 fdisk 硬盘路径 ;第二步:在会话模式中按n键创建一个新的分区;在这里有两个选项p,和e,p是创建主分区,e创建扩展分区,fdisk创建的是mbr引导,最多只能分4个主分区,这里可以选择将第四个分区改变为e扩展分区,这样就可以在这里面创建更多的分区了。[
[root@localhost ~]# fdisk /dev/sdg //为sdg磁盘创建分区
//我省略了上面的提示,下面的提示出来就说明做好了
命令(输入 m 获取帮助):n //n创建一个新的分区
Partition type:
p primary (0 primary, 0 extended, 4 free)
e extended
Select (default p): p //选择分区类型为p主分区,e为扩展分区
分区号 (1-4,默认 1):
起始 扇区 (2048-10485759,默认为 2048):
将使用默认值 2048
Last 扇区, +扇区 or +size{K,M,G} (2048-10485759,默认为 10485759):+1G //设置分区大小为1G
分区 1 已设置为 Linux 类型,大小设为 1 GiB
命令(输入 m 获取帮助):w //w保存分区设置,分区创建完成
Calling ioctl() to re-read partition table.
正在同步磁盘。
第二步:格式化,命令是:mkfs.ext4 硬盘路径 这是格式化成为ext4文件格式。
[root@localhost ~]# mkfs.ext4 /dev/sdg1 //为/dev/sdg1进行格式化使用ext4格式
//我省略了中间的提示,下面的提示出来就说明做好了
Allocating group tables: 完成
正在写入inode表: 完成
Creating journal (8192 blocks): 完成
Writing superblocks and filesystem accounting information: 完成 //格式化完成
第三步:挂载:包含临时挂载和永久挂载,临时挂载系统重启后挂载失效,永久挂载重启后挂载依旧有效。
无论临时挂载还是永久挂载都需要先创建一个挂载点,挂载点一般放在/mnt/目录下,只有挂载成功才表明这个磁盘分区才算是可以使用了。如果不挂载,这个新建好的分区将无法使用。
[root@localhost ~]# mkdir /mnt/sdg1 //在/mnt/目录中创建名为sdg1的挂载点
[root@localhost ~]# mount /dev/sdg1 /mnt/sdg1 //将/dev/sdg1挂载到/mnt/sdg1中
[root@localhost ~]# lsblk //使用查看磁盘命令查看是否挂载成功
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 20G 0 disk
├─sda1 8:1 0 1G 0 part /boot
└─sda2 8:2 0 19G 0 part
├─centos-root 253:0 0 17G 0 lvm /
└─centos-swap 253:1 0 2G 0 lvm [SWAP]
sdb 8:16 0 5G 0 disk
sdc 8:32 0 5G 0 disk
sdd 8:48 0 5G 0 disk
└─vg1-lv1 253:2 0 5G 0 lvm
sde 8:64 0 5G 0 disk
sdf 8:80 0 5G 0 disk
sdg 8:96 0 5G 0 disk
└─sdg1 8:97 0 1G 0 part /mnt/sdg1 //挂载成功
永久挂载的方法是使用vim /etc/fstab,在里面进行编辑最后一行写入 /dev/sdg1/ /mnt/sdg1 ext4 defaults 0 0 ;/dev/sdg1/ 代表硬盘分区名,/mnt/sdg1代表挂载点,ext4代表文件格式,defaults 0 0 ;这是默认的,不用管,写完之后保存退出,执行mount -a命令重启挂载。
逻辑卷lvm
管逻辑卷lvm是管理磁盘的一种方式,性质与基本磁盘无异,特点是可以随意扩充大小,LVM是 Logical Volume Manager(逻辑卷管理),PV:物理卷(Physical volume):一块硬盘,或多块硬盘;VG,卷组(Volume Group):一堆磁盘的统称;LV:逻辑卷(Logical Volume):一个逻辑分区,一个分区;
创建lvm的过程:1,创建物理卷pv,pvcreate 硬盘名;2创建卷组vg :vgcreate 卷组vg名 硬盘名 3:创建lv :lvcreate -L 大小 -n lv名 vg名;最后格式化分区并挂载。
[root@localhost ~]# pvcreate /dev/sdc //创建一个物理组pv
Physical volume "/dev/sdc" successfully created
[root@localhost ~]# vgcreate vg1 /dev/sdc //把物理组pv /dev/sdc加入到vg中,vg命名为vg1
Volume group "vg1" successfully created
[root@localhost ~]# lvcreate -L +200M -n lv2 /dev/vg1 //创建一个lv名为lv2,从vg1中获得存储空间200M
Logical volume "lv2" created.
[root@localhost ~]# mkfs.ext4 /dev/vg1/lv2 //格式化lv2
//我省略了中间的提示,下面的提示出来就说明做好了
Allocating group tables: 完成
正在写入inode表: 完成
Creating journal (4096 blocks): 完成
Writing superblocks and filesystem accounting information: 完成 //格式化成功
[root@localhost ~]# mkdir /mnt/lv2 //创建lv2的挂载点
[root@localhost ~]# mount /dev/vg1/lv2 /mnt/lv2 //把lv2挂载上
[root@localhost ~]# lsblk //查看挂载是否成功
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 20G 0 disk
├─sda1 8:1 0 1G 0 part /boot
└─sda2 8:2 0 19G 0 part
├─centos-root 253:0 0 17G 0 lvm /
└─centos-swap 253:1 0 2G 0 lvm [SWAP]
sdb 8:16 0 5G 0 disk
sdc 8:32 0 5G 0 disk
└─vg1-lv1 253:2 0 5G 0 lvm
sdd 8:48 0 5G 0 disk
├─vg1-lv1 253:2 0 5G 0 lvm
└─vg1-lv2 253:3 0 200M 0 lvm /mnt/lv2 //挂载成功
vg扩容与lv扩容的方法
[root@localhost ~]# pvcreate /dev/sde //创建pv
Physical volume "/dev/sde" successfully created.
[root@localhost ~]# vgextend vg1 /dev/sde //把sde加入到vg1中
Volume group "vg1" successfully extended
[root@localhost ~]# vgs //查看vg空间有没有增大
Couldn't find device with uuid Tt26IB-Ut7b-AZ8L-fHhF-XFAi-983Y-UJLMee.
VG #PV #LV #SN Attr VSize VFree
centos 1 2 0 wz--n- <19.00g 0
vg1 4 2 0 wz-pn- 19.98g <14.79g
[root@localhost ~]# lvextend -L +200M /dev/vg1/lv1 //为lv扩展200兆空间
[root@localhost ~]#resize2fs /dev/vg1/lv1 //刷新
交换分区Swap
交换分区的作用: ‘提升' 内存的容量,防止OOM(Out Of Memory)是在物理内存使用完之后,将磁盘空间(也就是SWAP分区)虚拟成内存来使用.它和Windows系统的交换文件作用类似,但是它是一段连续的磁盘空间,并且对用户不可见。
查看当前交换分区的命令是:free -m ,为交换分区扩容,首先需要准备一个分区,准备的该分区多大,到最后交换分区就可以扩容多大。和上面创建分区的命令是一样的,我这里就不再做重复。格式化与之前的ext4格式化方式有所不同,我在下面的代码块做出了解释。
[root@localhost ~]# mkswap /dev/sde1 //格式化交换分区,格式化的命令是mkswap ,文件格式是:swap
[root@localhost ~]# swapon /dev/sde1 //增加交换分区容量,增加的容量就是/dev/sde1的存储空间。