云服务器数据盘的增加与删除

68 阅读3分钟

在使用云服务器的过程中,由于数据的不断累积所以最好不要将数据放在系统盘中,而是放在数据盘中,这样方便添加和扩容。那么如何添加和删除数据盘?

挂载数据盘

在平台上购买一个数据盘后,还需要在系统中挂载。

列出磁盘

fdisk -lu

这个命令可以列出当前的所有磁盘

创建分区

如果磁盘未创建分区,则需要先创建分区。

输入fdisk /dev/vdb命令,然后依次根据提示,输入n,p,1,回车,回车,wq,保存退出即创建分区成功。 /dev/vdb是由执行fdisk -lu命令查询到的,即要加载的数据盘在操作系统内核中的名称。

创建文件系统(即格式化)

如果磁盘未格式化,则需要先格式化。

mkfs.ext4 /dev/vdb1

dev/vdb1就是第2步创建的分区。这样就可以对磁盘进行格式化。

将文件系统挂载到操作系统的目录上

终端执行如下命令挂载:

mount /dev/vdb1 /opt/data/data1

/opt/data/data1就是挂载的目录。以后进入这个目录就可以看到磁盘内容。

设置开机后自动挂载

如果想开机后自动挂载,就需要在/etc/fstab中配置,如:

UUID=d1bdc014-7d45-48fc-851b-48b167dc1726 /opt/data/data1                   ext4    defaults        0 0

这里使用UUID的方式,UUID的获取后面会说。

在/etc/fstab配置文件中可以以三种方法表示文件系统:内核名称、UUID 或者 label。

使用 UUID 或 label 的好处在于它们与磁盘顺序无关。如果你在 BIOS 中改变了你的存储设备顺序,或是重新拔插了存储设备,或是因为一些 BIOS 可能会随机地改变存储设备的顺序,从而导致设备名变动。释放云盘也是如此。那么用 UUID 或 label 来表示将更可靠。所有分区和设备都有唯一的 UUID,它们由文件系统生成工具 (mkfs.*) 在创建文件系统时生成的。所以在/etc/fstab中使用全局唯一标识符UUID来引用新分区。

root用户可以直接使用如下命令配置

echo `blkid /dev/vdb1 | awk '{print $2}' | sed 's/\"//g'` /opt/data/data1 ext4 defaults 0 0 >> /etc/fstab

通过lsblk -f命令可以列出文件系统块设备,能显示设备的 UUID 值。如下:

NAMEFSTYPE LABEL UUIDMOUNTPOINT
vda
`-vda1ext480b9b662-0a1d-4e84-b07b-c1bf19e72d97 /
vdb1ext4b26371e2-41c8-47de-a3cf-570c106fb2a6 /opt/data/data2

完成查看分区

df -Th

完成后通过该命令就可以看到所有分区,知道数据盘是否挂载成功。

释放数据盘

当数据盘不想用了,就需要释放并销毁数据盘。但是在平台上操作前,需要先在服务器中卸载数据盘。

删除数据

首先需要删除数据(当然如果要保留数据,先进行备份)

rm -f /opt/data/data1/*

查看占用

然后查看是否有该磁盘的进程

fuser -vm /dev/vdb1

如果有通过PID来结束进程

kill -9 22564

如果退出来重新登录即可

卸载

执行卸载命令

unmount /dev/vdb1

卸载完通过df -Th命令来查看是否卸载成功

删除fstab记录

一般希望开机自动挂载,所以在/etc/fstab中配置一下该磁盘。那么在卸载该磁盘后则需要删除这一条记录。否则重启服务器的时候还有该记录的话,但是没有该磁盘就会出现问题(导致该云服务器的公网IP无法ping通,一直超时,导致网站无法访问)。

删除后可以使用cat命令查看确认一下。

释放磁盘

做好上面的步骤后就可以在阿里云平台上释放销毁该磁盘即可。