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协议仍常被使用

相关