跳至主要內容
  • Hostloc 空間訪問刷分
  • 售賣場
  • 廣告位
  • 賣站?

4563博客

全新的繁體中文 WordPress 網站
  • 首頁
  • 怎样快速部署多台装有同样软件的 Linux 系统?
未分類
2 11 月 2020

怎样快速部署多台装有同样软件的 Linux 系统?

怎样快速部署多台装有同样软件的 Linux 系统?

資深大佬 : gxgxxn 3

目前有一台 Ubuntu 机器已经安装好各类所需的软件,另外有几台设备也需要安装同样的软件环境,由于软件安装较为负责,所以有没有什么方法将已有的软件环境复制其他机器上?

大佬有話說 (67)

  • 資深大佬 : ik

    再生龙

  • 資深大佬 : sujin190

    把硬盘拆下来对刻一下就是了啊

  • 主 資深大佬 : gxgxxn

    @sujin190 Raid 阵列弄起来也不方便吧,而且几台设备不在同一个地方。。。

  • 主 資深大佬 : gxgxxn

    @ik 这个似乎不错,我研究一下是否可行

  • 資深大佬 : viko16

    docker 不就是解决这个问题的吗

  • 資深大佬 : ik

    @gxgxxn 可行的,我见过有客户用这个,但是我没实践过…

  • 主 資深大佬 : gxgxxn

    @viko16 docker 好像不支持图形界面吧,也不确定所需软件能不能在 docker 下运行

  • 資深大佬 : ik

    @gxgxxn 但是这个类似于 ghost,是克隆系统的方式,部署的环境可能会有配置上的冲突或者调整啥的

  • 資深大佬 : felixcode

    @gxgxxn
    docker 支持图形,可以看看这里面的
    https://linoxide.com/how-tos/20-docker-containers-desktop-user/

  • 資深大佬 : sujin190

    @gxgxxn #3 无所谓吧,反正阵列加载到系统了还不是一块磁盘,复制的是逻辑盘的数据,又不是物理磁盘,不在一起的化可以考虑把现在装好的磁盘做成二进制文件,然后在弄到新盘上写进去就是了,dd 就能干这事

  • 資深大佬 : IDAEngine

    看硬件配置了,如果硬件完全一样,直接硬盘克隆就行了

  • 資深大佬 : superrichman

    dd 整个硬盘

  • 資深大佬 : joynvda

    除了硬盘分区复制,还有把已安装的系统软件列表导出,用脚本逐一安装并且调整配置。

  • 主 資深大佬 : gxgxxn

    @felixcode 后面再研究一下,最初想要使用 docker 的,可是后来发现 docker 对 gui 支持不好就放弃了。

  • 主 資深大佬 : gxgxxn

    @ik 测试了一下,备份过程中有些分区备份失败,原因不明。可是能是使用姿势不对。

  • 主 資深大佬 : gxgxxn

    @superrichman
    @IDAEngine 硬件配置一样,只是担心克隆整个硬盘出来的文件会不会很多,系统硬盘可用容量有 1.5T 。

  • 資深大佬 : raaaaaar

    Linux 下软件的概念比较模糊吧,备份 home 目录,或者整个系统比较常见。

  • 主 資深大佬 : gxgxxn

    @joynvda 重要的软件就两个,关键是其中一个软件安装很麻烦,还和系统关联性很大(一些与系统相关的配置信息是在编译前写入配置文件的)。

  • 資深大佬 : opengps

    系统镜像,硬盘克隆

  • 資深大佬 : sirius1024

    做成镜像,用啥软件 boot 起来就行了,或者统一推送安装
    Ansible/Salt Stack/IPMI/PXE…

  • 資深大佬 : naoh1000

    dd if=/dev/原硬盘 of=/dev/目标硬盘
    如果目标硬盘容量和原硬盘相等,你将得到数据完全相同的两块硬盘

  • 資深大佬 : KENNHI

    打包镜像,PXE 自动安装

  • 資深大佬 : Jirajine

    都是相同型号的电脑的话,直接 rsync 一下。

  • 資深大佬 : laminux29

    WinPE 启动,各种网络克隆工具。

  • 資深大佬 : skydiver

    直接 rsync

  • 資深大佬 : systemcall

    硬盘取下来丢对拷机里按一下就行了,注意方向

  • 資深大佬 : Osk

    不推荐 dd,这方法很不合适,适合用来划水,dd 一开始,然后半天后才完成,中间可以划水,这么大负荷的读写操作有些硬盘万一没扛住就糟了。

    通常是基于文件的复制,做成 tar 包或者 rsync 复制都行,通常来说,由于文件系统 uuid 变了,需要重新生成 grub.cfg 和调整 /etc/fstab,linux 在这方面没啥玄学。

    如果非要用基于块设备的克隆,也要选择能够理解文件系统的工具,只拷贝有效数据块,不过工具比较少。

  • 資深大佬 : ik

    @gxgxxn 因为没有实践经验,所以也帮不了你了…
    会不会是硬件配置不一样?

  • 資深大佬 : smartyang

    diskgunis 试试

  • 資深大佬 : msg7086

    rsync 对拷,然后网络配置和 fstab 改一下,重新生成一下 grub 配置,就行了。

    Linux 系统的安装过程是很透明很简单的,本质上就是把所有的软件包解压出来放进分区里,然后执行配置脚本,最后改改常见的配置(时区啊语言啊 fstab 啊之类),安装并配置一下 grub,就完事了。你自己写个系统安装程序也是分分钟的事情。

  • 資深大佬 : dayeye2006199

    可以用 chef 或者 puppet

  • 資深大佬 : AmrtaShiva

    rsync+27 方法搞好几次了 没毛病

  • 資深大佬 : alfred42

    chef

  • 主 資深大佬 : gxgxxn

    @ik 同一台设备不同硬盘测试,除了硬盘其他都是一样的。今天再试试看

  • 主 資深大佬 : gxgxxn

    @opengps 我比较希望能做出系统镜像,这样文件体积不会很大,安装也不比较方便。

  • 主 資深大佬 : gxgxxn

    @Osk
    @msg7086
    @AmrtaShiva
    谢谢,这个方法是很方便。请问是不是这种方法要求是配置完成相同吗?

  • 資深大佬 : Osk

    @gxgxxn 不要求
    一般流程:
    启动到 live-cd.
    解压备份或复制.
    chroot 到新系统.
    编辑 fstab,hostname.
    update-initcpio/mkinitcpio (视发行版),这一步可消除大部分硬件差异导致的启动问题.
    grub-install /dev/xxx 安装 bootloader.
    update-grub / grub-mkconfig 重新生成 grub.cfg.

    只要把启动流程理清楚了也就那么回事儿。硬件方面,只要没有啥需要单独安装驱动的硬件都还好

  • 資深大佬 : popil1987

    必须全新安装后用脚本自动化安装你的软件。因为安装成功后会生成一些以你的硬件为来源的信息文件,比如 udev 设备之类。批量部署可以用 cobbler,全新安装后会运行指定脚本,配置比较复杂,坑比较多。或者批量部署后用自动化软件部署你的软件,比如 ansible (比较麻烦),pyinfra (比较简洁)等
    另外,docker 也是可以的,docker 可以有图形界面,docker hub 上有 xfce 这种安装桌面的 docker 。然后通过 vnc 或者 html 访问。不过得些 Dockerfile,写好 Dockerfile 部署不用担心出错,用脚本担心出错

  • 資深大佬 : msg7086

    @gxgxxn 相对类似的比较好,但不是很大的问题。

  • 資深大佬 : ungrown

    我想说,虚拟机不行吗?
    这年头主流虚拟机的性能损耗都非常微小了(虽然有些接口的 IO 还是有拉胯的可能)
    如果能接受虚拟机部署的话,那么一个虚拟机镜像比此其他方案都方便得多得多得多

  • 資深大佬 : kiracyan

    写安装脚本

  • 資深大佬 : opengps

    重新看了下帖子,PXE 网络安装系统似乎更适合

  • 資深大佬 : KarPy

    把这个做成镜像,然后 pxe 安装

  • 資深大佬 : flowercoder

    一就是正确答案了,再生龙真的好用,好像是湾湾搞出来的,确实好用,相当快速,连系统都不用装了。就是硬件最好一样,否则还要装一些驱动啥的。

  • 資深大佬 : optimus

    用 ghost

  • 資深大佬 : AmrtaShiva

    @gxgxxn 我之前是同一台笔记本换硬盘做过一次 后来在换过的硬盘上 又把笔记本换成 itx CPU 也换了 没毛病

  • 資深大佬 : mafeifan

    先磁盘生成原始映像,然后其他实例基于这个映像创建,这种比较快

  • 資深大佬 : tairan2006

    做镜像

  • 資深大佬 : huang86041

    如果不能保证机器配置都是一样的,写安装脚本吧.

  • 資深大佬 : ren2881971

    playbook

  • 主 資深大佬 : gxgxxn

    @flowercoder 这个软件功能确实很强大,但是试了几次都备份失败,不知道什么原因。

  • 資深大佬 : charlie21

    详细记录第一台机器的各软件的安装步骤,然后在第二台电脑上走一遍

  • 主 資深大佬 : gxgxxn

    @KarPy
    @tairan2006 请问有没有什么镜像制作工具推荐?已经找到 Mondo 、systemback 两款软件,但是前者 Ubuntu18 上没有可用安装包,使用源码安装后,可能是缺失什么依赖库的原因,总是启动失败;后者制作出来的镜像文件启动失败,会出现(initramfs)mount:mounting /dev/loop0 on //filesystem.squashfs failed: 错误。

  • 資深大佬 : julyclyde

    如果都是 apt/dpkg 的话,可以用 dpkg –get-selections

    dd 整个硬盘不合适,会把 UUID 之类的也带过来的

  • 主 資深大佬 : gxgxxn

    @huang86041
    @kiracyan
    @charlie21 安装记录有,也有所需软件的安装脚本,但是在其他机器上安装时可能不能联网,那样的话就需要手动解决依赖问题,想想都可怕,而且安装过程中也有可能遇到一些其他问题。

  • 資深大佬 : tankren

    pxe 无人安装

  • 資深大佬 : goosling

    ansible, 写一个 playbook 同意安装配置一下,以后配置改起来重新 run 一下就 ok 了,就是第一次麻烦一些。

    不能联网指的是不能连公网还是机器之间都不能连?如果不能连公网还是可以使用 ansible

  • 資深大佬 : wccc

    https://github.com/teejee2008/timeshift
    https://dev.to/rahedmir/how-to-use-timeshift-from-command-line-in-linux-1l9b
    装一个 timeshift 导出备份到硬盘
    然后在恢复应该就行了

  • 資深大佬 : flowercoder

    @gxgxxn 仔细看下官方操作文档,如果还不行,它可以选中文的,很简单的。再不行就确保一块硬盘,重装系统和软件再试备份。我那时候 100 多台机器都是这么装的,Linux 支持很好

  • 資深大佬 : clino

    https://en.wikipedia.org/wiki/List_of_remastering_software
    https://en.wikipedia.org/wiki/Comparison_of_disk_cloning_software

  • 資深大佬 : 402124773

    一说的那个再生龙就是搞这个的

  • 資深大佬 : Death

    上和一提到的 Clonezilla 就是比较方便的镜像方式了,如果设备多还可以用 Clonezilla Server Edition

  • 資深大佬 : dorothyREN

    ansible+playbook

  • 資深大佬 : unlighted

    clonezilla 不太好,还是拿脚本装环境好

  • 資深大佬 : fox0001

    @Osk #27
    @msg7086 #30
    @AmrtaShiva #32
    同意~ rsync 是最佳方案了

  • 資深大佬 : user0

    再生龙+1 我都用好多年了,特别方便。平时喜欢在自己电脑上瞎搞,所以每次瞎搞之前再生龙备份一下,之后无脑恢复就行了。用 tar 或者 rsync 也行,不过需要搞 grub,不是那么无脑

  • 資深大佬 : tadebao

    #dd   bs=4M if=/dev/sdb of=/dev/sdc &&sync  了解下

文章導覽

上一篇文章
下一篇文章

AD

其他操作

  • 登入
  • 訂閱網站內容的資訊提供
  • 訂閱留言的資訊提供
  • WordPress.org 台灣繁體中文

51la

4563博客

全新的繁體中文 WordPress 網站
返回頂端
本站採用 WordPress 建置 | 佈景主題採用 GretaThemes 所設計的 Memory
4563博客
  • Hostloc 空間訪問刷分
  • 售賣場
  • 廣告位
  • 賣站?
在這裡新增小工具