- 细说Linux基础知识
- 兄弟连教育
- 1065字
- 2020-08-28 01:46:54
2.5 dd命令复制安装Linux
无人值守安装可以解决大批量服务器的安装,但是服务器端配置实在过于麻烦,并不适合新手使用。有没有更简单的大批量服务器安装方法,类似Windows下的用GHOST软件进行硬盘克隆?答案是有的,在Linux下可以使用强大的dd命令实现硬盘复制。
对于初学者来说,本节内容可在掌握常用Linux命令后再行学习。
2.5.1 dd命令是什么
dd命令是用来复制文件的命令,它可以用指定大小的数据块复制一个文件,并在复制的同时进行指定的转换。也就是说,我们用dd命令进行两块硬盘的复制,它除了能够复制文件中的数据,还能够复制分区和文件系统,可以完整地复制出一块和原系统盘一样的硬盘。dd命令的格式如下:
[root@localhost ~]# dd if=输入文件of=输出文件bs=字节数count=个数 选项: if=输入文件 指定源文件或源设备 of=输出文件 指定目标文件或目标设备 bs=字节数 指定一次输入/输出多少字节,即把这些字节看作一个数据块 count=个数 指定输入/输出多少个数据块 例子1: [root@localhost ~]# dd if=/dev/zero of=/root/testfile bs=1k count=100000 #创建一个100MB大小的文件testfile #/dev/zero是一个输入设备,可以使用它来初始化文件,该设备无穷尽地输出0 #可以理解为向testfile中不停地写0,直到写满100MB 例子2: [root@localhost ~]# dd if=/dev/sda of=/dev/sdb #把第一块硬盘中的数据复制到第二块硬盘中 例子3: [root@localhost ~]# dd if=/dev/hda of=/root/image #把第一块硬盘中的数据复制到image文件中
使用dd命令复制硬盘有两个前提条件。第一,需要批量复制的服务器硬件配置一致。我们采购服务器一般都是批量采购的,所以服务器的配置都是一样的,这应该不是问题。第二,复制硬盘的时候,需要手工更换被复制盘。服务器上一般都是SCSI硬盘,SCSI硬盘支持热插拔,而且不需要拆卸机箱,更换被复制盘非常方便。实际上,超哥当年维护大批量游戏服务器的时候采用的就是dd复制,而不是无人值守安装。
2.5.2 dd配置步骤
(1)把母盘插入服务器的第一个硬盘插口,把被复制盘插入服务器的第二个硬盘插口,注意不要插反。
(2)执行复制命令。
dd if=/dev/sda of=/dev/sdb
在dd命令中,if指定复制源,of指定复制目标。/dev/sda代表第一块SCSI盘,/dev/sdb代表第二块SCSI盘。这条命令会把第一块硬盘中的数据完整地复制到第二块硬盘中。
就这么简单!比无人值守安装痛快多了吧?那么它的效率如何呢?复制的速度和服务器的配置及安装软件的多少相关,不过超哥当年大批量复制服务器时,每台服务器的复制时间为15~25分钟,效率还可以接受。无人值守安装也要受到服务器端配置和网络带宽的影响,而且硬盘复制也可以多台服务器同时操作。
在Linux中,除光盘安装、U盘安装、无人值守安装和dd复制安装之外,还有其他的安装方式吗?答案是当然有,比如网络安装方式。网络安装方式比较简单,但是这种安装方式需要在每台客户端服务器上进行手工配置,如果是大批量安装,那么工作量也很大。