云端硬盘挂载

一、背景

有时候申请到的云端的机器初始容量较小,后期随着开发的深入,容量逐渐不够用,此时需要申请新的更大的云端硬盘,挂在到我们的工作目录。

二、步骤

1、查看磁盘信息

sudo fdisk -l
# 输出如下:
Disk /dev/vda: 142.9 GB, 142949672960 bytes, 83886080 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk label type: dos
Disk identifier: 0x000bc38e

   Device Boot      Start         End      Blocks   Id  System
/dev/vda1   *        2048    83886046    41941999+  83  Linux

Disk /dev/vdb: 314.7 GB, 314748364800 bytes, 419430400 sectors。 # /dev/vdb就是云盘,每个机器名称不一定一样,从大小进行区别
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes

2、第一次挂在云盘时,需要格式化,如果云盘已经有内容了, 请勿随意格式化,需要root权限

sudo mkfs.ext4 /dev/vdb # 指定需要格式化的云盘,执行需要一点时间
# 输出如下:
mke2fs 1.42.9 (28-Dec-2013)
Filesystem label=
OS type: Linux
Block size=4096 (log=2)
Fragment size=4096 (log=2)
Stride=0 blocks, Stripe width=0 blocks
13107200 inodes, 52428800 blocks
2621440 blocks (5.00%) reserved for the super user
First data block=0
Maximum filesystem blocks=2199912448
1600 block groups
32768 blocks per group, 32768 fragments per group
8192 inodes per group
Superblock backups stored on blocks:
	32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208,
	4096000, 7962624, 11239424, 20480000, 23887872

Allocating group tables: done
Writing inode tables: done
Creating journal (32768 blocks): done
Writing superblocks and filesystem accounting information: done

3、因为之前工作目录在/home下,里面已经有很多内容了,并切也不能够随意将其重命名(会提示busy),为了保证新挂载的云盘能够保留之前的所有数据,我使用如下方法

创建一个新的挂载点,例如 /home1

sudo mkdir /home1

挂载新磁盘(先挂载到/home1上)

sudo mount /dev/sdb /home1

使用 rsync 来复制数据,以确保文件的权限和属性不变:

sudo rsync -av /home/ /home1/ # 注意,/不能少

这里我没有删除原始数据,再直接挂载到/home目录上

sudo mount -t ext4 /dev/vdb /home/

这种挂载方式是单次有效,下次重启机器时,挂载又会失效,需要修改配置文件

编辑配置文件使云盘开机自动挂载

sudo vim /etc/fstab

# 原/etc/fstab文件中有如下说明:
# When mounting the data disk, you need to add the nofail parameter
# Example
# /dev/vdb1 /mount_point ext4 defaults,nofail 0 0
# 添加下面一行内容:
UUID=0fc93335-1b90-4e3b-a13b-eb7765106f1d /home                  ext4 defaults,nofail 0 0

UUID通过如下方法查看:
sudo blkid  # 这里要加sudo,不加sudo,可能返回到结果不是最新的,有可能只能看到/dev/vda1
/dev/vda1: UUID="a57c9f40-34fe-4763-909e-342bf8cc553f" TYPE="ext4"
/dev/vdb: UUID="0fc93335-1b90-4e3b-a13b-eb7765106f1d" TYPE="ext4"

# 保存,查看挂载详情
df -Th

如果挂载时,没有删除原来/home/work/目录下的文件,在/dev/vdb挂载到/home之后,之前的内容将不可访问,但是内容还依旧存在之前的磁盘上。将来如果想删除掉之前/home/work目录下的内容或者重新访问之前的内容,则需要将/etc/fstab配置文件中的UUID=0fc93335-1b90-4e3b-a13b-eb7765106f1d /home ext4 defaults,nofail 0 0这一行注释掉。然后重启开发机,此时/dev/vdb磁盘将不会挂载到/home目录,现在开发机上的/home目录就是之前的目录了,现在可以将之前的内容删除掉,再将刚刚注释掉内容解除注释之后,重启开发机即可,此时开机就会自动将云盘挂载到/home目录下了,并切里面的数据也能和之前/home目录下的数据一致。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值