linux 挂载磁盘到home目录下,Ubuntu 挂载新硬盘并把home目录迁移到新硬盘

运维小白,在云服务器上部署了 Bitcoin Core daemon (bitcoind), 使用了主机的自带的 20G 存储。bitcoind 开始同步数据之后,第二天查看主机发现磁盘被用满了。

进入主机之后,敲命令时连自动补全都失效了:

cannot create temp file for here-document: No space left on device

悲催,之前一直以为某云服务商只要把硬盘加载到主机之后就会自动挂载。哎,智商捉急,然后开始了运维从入门到小白之路。

找到磁盘信息

sudo lshw -C disk

*-disk:0

description: SCSI Disk

physical id: 0.0.0

bus info: scsi@2:0.0.0

logical name: /dev/sda

size: 20GiB (21GB)

capabilities: partitioned partitioned:dos

configuration: logicalsectorsize=512 sectorsize=512 signature=d6ee97c2

*-disk:1

description: SCSI Disk

physical id: 0.0.2

bus info: scsi@2:0.0.2

logical name: /dev/sdb

size: 100GiB (107GB)

capabilities: partitioned partitioned:dos

configuration: logicalsectorsize=512 sectorsize=512 signature=5b9f9d07

可以看到有两块硬盘。

sudo fdisk -l | grep sd

Disk /dev/sdb: 100 GiB, 107374182400 bytes, 209715200 sectors

/dev/sdb1 2048 209715199 209713152 100G 83 Linux

Disk /dev/sdc: 2 GiB, 2147483648 bytes, 4194304 sectors

Disk /dev/sda: 20 GiB, 21474836480 bytes, 41943040 sectors

/dev/sda1 * 2048 41940991 41938944 20G 83 Linux

可以看到所有的存储设备,其中 sdb 就是我们即将要挂载到主机系统的硬盘。

挂载前设置硬盘

sudo fdisk /dev/sdb

Welcome to fdisk (util-linux 2.27.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 查看 /dev/sdb 分区的状态

输入 n 创建 sdb 这块硬盘的分区

选 p primary => 输入 p

Partition number => 全部存储分一个区,所以输入 1

接下来选项默认即可

最后一步输入 w 保存并退出 Command 状态

分区成功之后,接着就是格式化硬盘。

sudo mkfs.ext3 /dev/sdb1

迁移旧的 home 目录文件到新硬盘

首先,你得挂载已经分区好的硬盘,然后把 home 目录下的全部文件拷贝到硬盘挂载的目录下。然后删除 home 目录,最后把第一步挂载好的新硬盘重新挂载在 home 目录下。下文是详细步骤。

这部分的内容得使用 root 用户登录主机,因为涉及到把 home 目录删除,所有的非 root 用户都会失效。

挂载设置好的硬盘

sudo mkdir /mnt/tmp

sudo mount /dev/sdb1 /mnt/tmp

同步 home 目录所有文件,删除之前的 home 目录下的所有文件

sudo rsync -avx /home/ /mnt/tmp

确定同步成功之后,删除旧 home 目录

rm -rf /home/* #deletes the old home

//卸载 /home

umount -l /home

重新挂载新硬盘并设置启动挂载

sudo mount /dev/sdb1 /home

设置系统启动挂载需要得到硬盘的信息

sudo blkid

/dev/sdb1: UUID="175ab25f-5190-4df7-8795-8a00a0f78fd6" TYPE="ext3" PARTUUID="5b9f9d07-01"

/dev/sdc: LABEL="YUNIFYSWAP" UUID="f490fae5-73c7-47a0-88df-084f3ed627e0" TYPE="swap"

/dev/sda1: UUID="5c51f0c7-6ad1-41e5-8026-a75466a07617" TYPE="ext4" PARTUUID="d6ee97c2-01"

获取到的 UUID 和 TYPE 在下文会用到。

接着编辑 /etc/fstab 文件,把以下代码添加到最后

UUID=175ab25f-5190-4df7-8795-8a00a0f78fd6 /home ext4 defaults 0 2

结束

运行 df -h 即可看到我们新挂载在 home 目录的硬盘设备

Filesystem Size Used Avail Use% Mounted on

udev 982M 0 982M 0% /dev

tmpfs 201M 12M 190M 6% /run

/dev/sda1 20G 2.8G 16G 16% /

tmpfs 1001M 0 1001M 0% /dev/shm

tmpfs 5.0M 0 5.0M 0% /run/lock

tmpfs 1001M 0 1001M 0% /sys/fs/cgroup

tmpfs 100K 0 100K 0% /run/lxcfs/controllers

tmpfs 201M 0 201M 0% /run/user/0

/dev/sdb1 99G 20G 75G 21% /home

tmpfs 201M 0 201M 0% /run/user/1001

/dev/sdb1 99G 20G 75G 21% /home 就是我们最终添加的,此刻可以退出 root 用户并用之前 home 目录下的用户登录主机了。

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值