Linux 不重启(动态)挂载磁盘以及简单的数据迁移

动态挂载过很多次磁盘,迁移过很多次数据。虽然重复了很多次,但是一直没有记住过这一系列的命令,估计以后也记不住,因此为了方便自己,做个记录。

一、首先需要让 Linux 识别新挂载的磁盘

参考:
Linux不重启识别新挂载的磁盘
不重启Linux主机来识别新加的硬盘

先看有哪些总线连接着:

[root@localhost ~]# ls /sys/class/scsi_host/
host0 host1 host2

有很多相近的文章都有类似的内容,有些会告诉你怎么找是那个 host,如果只有少数几个,可以都直接执行。
本来我自己认为不需要去找,都执行一次就好了,直到我发现
在这里插入图片描述
这么多,总不能都输出一遍吧,还是要知道怎么找具体是哪个 host。
使用下面的命令查找:
grep mpt /sys/class/scsi_host/host*/proc_name
注意上面写的 host*
上面命令的输出结果类似下面:
/sys/class/scsi_host/host14/proc_name:mptspi
通过上面方式找到了 host14

其次,重新扫描SCSI 总线来添加设备:

[root@localhost ~]# echo "- - -" > /sys/class/scsi_host/host14/scan

之所以扫描的是SCSI 总线,是因为我们添加的是 SCSI 类型的磁盘。

再次,查看一下新挂载的磁盘,此时 Linux 已经可以识别新添加的磁盘:

[root@localhost ~]# fdisk -l

最后,对新挂载的磁盘进行分区,格式化,挂载即可使用。

二、分区

参考:Ubuntu服务器挂载新硬盘的步骤
下面记录执行的具体命令

fdisk -l 查看所有磁盘,然后选择要进行分区的磁盘,比如新磁盘是 /dev/sda

root@zhang:~# fdisk /dev/sdb
# 输入 n,创建新分区,使用整个磁盘的情况下,后续全部使用默认值即可,这里不再列举
Command (m for help): n
# 配置分区后,输入 w 保存退出
Command (m for help): w

之后通过 fdisk -l 应该能看到一个 /sdev/sdb1 分区。

三、格式化

后续部分参考: 五、创建分区、格式化、挂载

执行下面命令即可:

[root@localhost ~]# mkfs.ext4 /dev/sdb1

四、挂载

创建要挂载的目录,然后挂载即可:

[root@localhosts ~]# mkdir /data

[root@localhost ~]# mount /dev/sdb1 /data

取消挂载方法: umount /dev/sdb1

五、开机挂载

更新 /etc/fstab

[root@localhost ~]# vi /etc/fstab

在最后添加下面的配置:

/dev/sdb1       /data      ext4     defaults    1  2

六、迁移数据

由于我这里使用最小安装,并且在局域网内,因此没有 rsync 工具,只能使用 cp 方式。

rsync 可以参考: 使用 rsync 命来快速迁移服务器数据

使用 cp 命令时,可以通过 -p 来保留文件的属性信息,通过 -r 递归复制目录。

因此命令类似 cp -rfp 要复制的目录 /data

七、补充

继续补充。

发布了299 篇原创文章 · 获赞 1651 · 访问量 595万+

猜你喜欢

转载自blog.csdn.net/isea533/article/details/94393429