0 安装
0.1 dd 命令安装
0.1.1 无人值守安装
- 面对大批量服务器的安装,人们往往热衷于选择“无人值守安装”的方式,而此方式需要对服务器进行过多配置
- 无人值守安装(Kickstart),又称全自动安装,其工作原理是,创建一个名为 ks.cfg 的文件记录 Linux 系统在安装过程中需要人工干预填写的各种参数
- 当安装过程中出现要填写参数时,安装程序会自行去 ks.cfg 文件中查找合适的参数,如果没找到,还是需要手工干预
- 在 ks.cfg 文件涵盖安装过程所有可能需要填写的参数的前提下,安装者只需要告诉安装程序 ks.cfg 文件的位置,就可实现全自动安装
0.1.2 使用 dd 命令实现硬盘复制
- 用 dd 命令实现硬盘复制,间接实现安装 Linux 系统的方法,类似 Windows 下用 GHOST 软件进行硬盘克隆
0.1.2.1 dd 命令
- dd 命令用于复制文件。它可以用指定大小的数据块复制一个文件,并在复制的同时进行指定的转换
- 简单地理解,dd 命令可用于进行两块硬盘之间的复制(完整复制出一块和原系统盘一样的硬盘)
- 格式
dd if=输入文件 of=输出文件 bs=字节数 count=个数
选项
- if=输入文件:指定源文件或源设备
- of=输出文件:指定目标文件或目标设备
- bs=字节数:指定一次输入/输出多少字节,即把这些字节看作一个数据块
count=个数:指定输入/输出多少个数据块
# 创建一个 100MB 大小的文件 testfile # /dev/zero是一个输入设备,可以使用它来初始化文件,该设备无穷尽地输出 0 # 可以理解为向 testfile 中不停地写 0,直到写满 100MB [root@localhost ~]# dd if=/dev/zero of=/root/testfile bs=1k count=100000 # 把第一块硬盘中的数据复制到第二块硬盘中 [root@localhost ~]# dd if=/dev/sda of=/dev/sdb # 把第一块硬盘中的数据复制到 image 文件中 [root@localhost ~]# dd if=/dev/hda of=/root/image
使用 dd 命令复制硬盘,需满足以下两个前提条件
- 需要批量复制的服务器硬件配置一致。通常,采购服务器都是批量采购的,服务器的配置都是一样的
- 复制硬盘的时候,需要手工更换被复制盘。服务器上一般都是 SCSI 硬盘,SCSI 硬盘支持热插拔,而且不需要拆卸机箱,更换被复制盘非常方便
0.1.2.2 dd 命令安装步骤
- 使用 dd 命令安装 Linux,实际上就是硬盘之间的完整拷贝,其实现过程如下
- 把母盘插入服务器的第一个硬盘插口,把被复制盘插入服务器的第二个硬盘插口,注意不要插反
- 执行复制命令
dd if=/dev/sda of=/dev/sdb
- /dev/sda 代表第一块 SCSI 盘,/dev/sdb 代表第二块 SCSI 盘
- 这条命令会把第一块硬盘中的数据完整地复制到第二块硬盘中
- 经过以上两步,即可实现将服务器之间的复制
- 此方法的效率:由于复制的速度和服务器的配置及安装软件的多少相关,因此每台服务器的复制时间约为15〜25分钟。选择无人值守安装的方式,也要受到服务器端配置和网络带宽的影响
- 硬盘复制也可以多台服务器同时操作
0.2 Linux LiveCD:从 CD 光盘运行 Linux
- 一些 Linux 发行版创建了含有 Linux 样本系统的可引导 CD,称为 Linux LiveCD
- 由于单张 CD 容量的限制,这个样本并非完整的 Linux 系统,不过可以自己加入各种软件。结果就是,可以通过 CD 来启动 PC,并且无需在硬盘安装任何东西就能运行 Linux 发行版
- 这是一个不弄乱 PC 就体验各种 Linux 发行版的绝妙方法。只需插入 CD 就能引导。所有的 Linux 软件都将直接从 CD 上运行。可以从互联网上下载各种 Linux LiveCD,刻录,体验
- Linux LiveCD 也有一些不足之处
- 由于要从 CD 上访问所有东西,应用程序会运行得更慢,而如果再搭配上陈旧缓慢的 PC 和光驱,那更是慢上加慢
- 由于无法向 CD 写入数据,对 Linux 系统作的任何修改都会在重启后失效
0.3 远程管理协议
- 远程管理,通常指远程管理服务器,而非个人计算机。个人计算机可以随时拿来用,服务器通常放置在机房中,用户无法直接接触到服务器硬件,只能采用远程管理的方式
- 远程管理,实际上就是计算机(服务器)之间通过网络进行数据传输(信息交换)的过程,与浏览器需要 HTTP 协议(超文本传输协议)浏览网页一样,远程管理同样需要远程管理协议的支持
- 目前,常用的远程管理协议有 4 种
协议 | 描述 | 特点 | 举例 |
---|---|---|---|
RDP(remote desktop protocol)协议 | 远程桌面协议,大部分 Windows 系统都默认支持此协议 | - | Windows 系统中的远程桌面管理就基于该协议 |
RFB(Remote FrameBuffer)协议 | 图形化远程管理协议 | - | VNC 远程管理工具就基于此协议 |
Telnet | 命令行界面远程管理协议,几乎所有操作系统都默认支持此协议 | 在进行数据传送时使用明文传输的方式,也就是不对数据进行加密 | - |
SSH(Secure Shell)协议 | 命令行界面远程管理协议,几乎所有操作系统都默认支持此协议 | 和 Telnet 不同,该协议在数据传输时会对数据进行加密并压缩,因此使用此协议传输数据既安全速度又快 | - |
0.3.1 RDP vs RFB
- 都允许用户通过图形用户界面访问远程系统
- RFB 协议倾向于传输图像,RDP 协议倾向于传输指令
- RFB 协议会在服务器端将窗口在显存中画好,然后将图像传给客户端,客户端只需将得到的图像解码显示
- RDP 会将画图的工作交给客户端,服务器端需要根据客户端的显示能力做适当的调整
- 因此,完成相同的操作,使用 RFB 协议传输的数据量会比 RDP 大,而 RDP 对客户端的要求比 RFB 更苛刻,RFB 适用于瘦客户端,而 RDP 适用于低速网络
- 瘦客户端是相对于胖客户端而言的,比如,人们使用 QQ 需要下载客户端,这属于“胖客户”
- 反之,通过浏览器就可查阅网络上各种资料,无需再下载其他任何软件,这属于“瘦客户”
- 简单理解,瘦客户端指的是最大可能减轻客户端的负担,多数工作由服务器端完成;胖客户端则相反
0.3.2 Telnet vs SSH
- 都是命令行远程管理协议,有共同的应用领域,常用于远程访问服务器
- 相比 Telnet 协议,SSH 协议在发送数据时会对数据进行加密操作,数据传输更安全
- 因此 SSH 协议几乎在所有应用领域代替了 Telnet 协议
- 在一些测试、无需加密的场合(如局域网),Telnet协议仍常被使用