当我们的服务器磁盘空间快满了,可能就需要新增一块磁盘了。但添加了新的磁盘不是立马就可以用的,需要进行一系列的操作:磁盘分区、格式化、挂载等操作。
下面,我来和大家说下如何给linux系统添加新的分区
分区
分区前我们要找到新的磁盘名称。使用lsblk
# lsblkname maj:min rm size ro type mountpointvda 253:0 0 40g 0 disk └─vda1 253:1 0 40g 0 part /vdb 253:16 0 200g 0 disk <===== 我们需要对这块磁盘进行分区├─vdb1 253:17 0 50g 0 part /data└─vdb2 253:18 0 100g 0 part /www
可以看到,vdb这块磁盘还剩50g的剩余空间。接下来就是对磁盘进行分区了,需要使用fdisk或gdisk命令。
# fdisk /dev/vdbwelcome to fdisk (util-linux 2.32.1).changes will remain in memory only, until you decide to write them.be careful before using the write command.command (m for help): <=== 输入m可以获得帮助信息,常见有p打印分区情况,n新增分区,d删除分区,w保存
## 然后我们输入ncommand (m for help): npartition type p primary (2 primary, 0 extended, 2 free) e extended (container for logical partitions)select (default p): <=== 这里我们就用default,如果主分区已经有了三了个,那么建议使用eusing default response p.partition number (3,4, default 3): <=== 继续enterfirst sector (314574848-419430399, default 314574848): <=== 继续enterlast sector, +sectors or +size{k,m,g,t,p} (314574848-419430399, default 419430399):# 因为我们想使用掉所有剩余空间,所以直接enter,如果是想要指定大小,可以输入+1g这样command (m for help):w <=== 最后填入w保存配置
现在我们检测下,新分区是否出来了
# lsblkname maj:min rm size ro type mountpointvda 253:0 0 40g 0 disk └─vda1 253:1 0 40g 0 part /vdb 253:16 0 200g 0 disk ├─vdb1 253:17 0 50g 0 part /data├─vdb2 253:18 0 100g 0 part /www└─vdb3 253:19 0 50g 0 part <===== 出现了一个新的分区
格式化分区前,我们重新读取下内核分区表
partprobe# cat /proc/partitions major minor #blocks name253 0 41943040 vda253 1 41941999 vda1253 16 209715200 vdb253 17 52428800 vdb1253 18 104857600 vdb2253 19 52427776 vdb3 <=== 已经出来了
格式化
格式化是为了写入文件系统,格式化非常简单,使用mkfs.文件系统名即可。
# mkfs.xfs /dev/vdb3 ……
挂载
格式化后文件系统已经写入到新的分区了,但是该分区还不能使用,还需要去将分区挂载到空目录上。我们就拿/mnt这个空目录作为挂载点
# mount /dev/vdb3 /mnt
到这步就可以使用新的分区了。下面用df命令来检测下看看:
# df -hfilesystem size used avail use% mounted ondevtmpfs 3.9g 0 3.9g 0% /devtmpfs 3.9g 0 3.9g 0% /dev/shmtmpfs 3.9g 528k 3.9g 1% /runtmpfs 3.9g 0 3.9g 0% /sys/fs/cgroup/dev/vda1 40g 19g 22g 47% //dev/vdb1 50g 466m 50g 1% /data/dev/vdb2 100g 27g 74g 27% /wwwtmpfs 782m 0 782m 0% /run/user/0/dev/vdb3 50g 390m 50g 1% /mnt <===== 已经有了
开机自动挂载
现在这个分区挂载到/mnt目录,已经是可以使用的了,但是每次只要重启服务器,就需要重新挂载该分区。那有没有什么办法,让它开机自动挂载呢?有的,有一个文件专门作用于开机挂载的。这个文件就是/etc/fstab文件,打开这个文件,看下它的格式
uuid=e32cfa7a-df48-4031-8fdf-5eec92ee3039 / xfs defaults 0 0
每一行总共有6个参数,含义分别如下:
[设备名/uuid/卷标名等] [挂载点] [文件系统] [文件系统参数] [是否备份] [是否检测硬盘]
下面,我们在这个文件新加入一样,首先我们需要知道该文件系统的uuid(建议使用uuid)
# blkid/dev/vda1: uuid="e32cfa7a-df48-4031-8fdf-5eec92ee3039" type="xfs" partuuid="1863aa79-01"/dev/vdb1: uuid="d997ce14-6822-4719-9476-15e6b0cec59d" type="xfs" partuuid="a5f349fa-01"/dev/vdb2: uuid="47685195-e6e1-4761-b7f8-26104218f3d7" type="xfs" partuuid="a5f349fa-02"/dev/vdb3: uuid="d95d50fa-a7a9-4cc4-ae41-a9081821f089" type="xfs" partuuid="a5f349fa-03" <=== 在这里
现在在/etc/fstab新增一行,内容如下
uuid=d95d50fa-a7a9-4cc4-ae41-a9081821f089 /mnt xfs defaults 0 2
注:修改/etc/fstab文件后,记得用mount -a检测一下是否有语法错误,如果有错的话,会导致开机不正常
以上就是linux下如何进行磁盘分区、格式化、挂载的详细内容。