标签 dd 下的文章

用 grml iso 作为急救盘 dd 安装 debian 12 系统

需求:一台物理机,主板不支持EFI,有 LSI MTP 阵列卡组成 6TB 的存储。想达到不使用IPMI,在原 Debian 系统环境中,能远程重装系统。

尝试:使用 grml iso 作为急救系统,在内存中使用,再通过 dd 命令,或 grml-debootstrap 重新安装 Debian 系统。

步骤:

  1. apt install grml-rescueboot # 安装 grml急救 工具
  2. mkdir /boot/grml 和 wget -O /boot/grml/grml.iso https://download.grml.org/grml64-small_2022.11.iso # 下载 grml 的iso文件
  3. sed -i 's|additional_param=""|additional_param="ssh=mjj2023"|g' /etc/grub.d/42_grml # 添加 grml 的启动参数,即 ssh=mjj2023 。效果是自动启动 ssh 服务,且 root 的密码是 mjj2023
  4. update-grub # 更新 grub 配置
  5. grub-reboot 2 # 下次启动,选择从第二项启动,即加载 grml iso 文件
  6. reboot # 重启系统。如果顺利,机子重启后,会自动加载 grml iso 文件。 grml 会自动获取IP,然后启动 ssh 服务。机子可从远程ssh连接,即可登录到 grml 的急救系统

以下部分是具体实例,仅参考。

  1. ip addr add 66.181.33.88/32 dev eth0 和 ip route add default dev eth0 via 100.103.2.49 onlink # 如果成功通过IPv6 ssh连接到 grml 急救系统,可执行以上两条命令,为 eth0 网卡临时配置IPv4
  2. wget -O- https://cloud.debian.org/images/cloud/bookworm/latest/debian-12-nocloud-amd64.raw | dd of=/dev/sda status=progress # 这里是使用debian官方的硬盘镜像。dd 好后,需要设置root密码、允许root用户凭密码ssh登录,还需留意物理机的网卡名称可能会随环境变化
  3. cfdisk /dev/sda # dd 好后,调整分区大小。请留意,如果是使用debian官方的硬盘镜像,调整分区后,是否需要重新安装grub,否则重启后,会出现 grub rescue
  4. resize2fs /dev/sda2 # 调整文件系统大小

调整磁盘分区后,grub找不到原来的位置,转到grub-rescu了

grml iso急救系统

参考:

用 alpinelinux 作为livecd OS完成dd硬盘数据复制

环境:debian 9 64位,alpinelinux 3.8

过程:

1.mkdir /liveos # 创建 /liveos 目录

2.mount -t tmpfs tmpfs /liveos # 设置 /liveos 为 tmpfs 类型

3.cd /liveos # 切换到 /liveos 目录

4.wget -O- http://dl-cdn.alpinelinux.org/alpine/v3.8/releases/x86_64/alpine-minirootfs-3.8.0-x86_64.tar.gz|gzip -dc|tar xv # 下载 aplinelinux 文件包,解压
cusliveos-1.png
5.cp /etc/resolv.conf etc # 复制nameserver配置文件,这样可以以域名访问外网

6.mount --bind /dev /liveos/dev # 挂载 /liveos/dev,dd硬盘数据复制对象

7.mount --bind /dev/pts /liveos/dev/pts # 挂载 /liveos/dev/pts

8.mount --bind /proc /liveos/proc # 挂载 /liveos/proc

9.chroot . /bin/ash # chroot 到当前目录

10.wget -O- http://file.gz | gunzip | dd of=/dev/sda # 下载dd包,复制到sda硬盘

11.reboot -f # 重启
cusliveos-2.png
12.数据复制有效
cusliveos-3.png

参考:

drserver.net - 用dd的方法来安装CentOS7系统镜像(cosmiccat)

如果觉得 drserver.net 提供的CentOS7系统镜像不符合您的要求,可以通过dd的方法来安装CentOS7系统镜像。

环境:超微凌动带IPMI机,16GB内存,2TB容量;cosmiccat制作的CentOS7系统镜像

过程:

1.在服务器产品的详情页,点击 Server Recovery ,设置好急救系统的密码,提交,使服务器启动到急救系统
dd-centos7-1.png

2.请留意急救系统状态,当提示 SSH is accessible 时,可通过ssh远程登录到急救系统
dd-centos7-2.png

3.wget -O- https://download.vds.app/DD/Centos7-x86_64-minimal.gz | gunzip | dd of=/dev/sda # 在急救系统里执行,下载cosmiccat制作的CentOS7系统镜像文件Centos7-x86_64-minimal.gz,之后通过dd写入到磁盘设备 /dev/sda
dd-centos7-3.png

4.测试发现,安装好的CentOS7并不能从drserver.net的dhcp服务器自动获取IP,所以以下步骤是重写网卡eth0的配置内容,写上静态IP,如本例的IP是 144.172.126.32

mount /dev/vg0/lv_root  /mnt/windows 
rm -f /mnt/windows/etc/sysconfig/network-scripts/ifcfg-eth0
echo "DEVICE=eth0" >> /mnt/windows/etc/sysconfig/network-scripts/ifcfg-eth0
echo "BOOTPROTO=static" >> /mnt/windows/etc/sysconfig/network-scripts/ifcfg-eth0
echo "ONBOOT=yes" >> /mnt/windows/etc/sysconfig/network-scripts/ifcfg-eth0
echo "IPADDR=144.172.126.32" >> /mnt/windows/etc/sysconfig/network-scripts/ifcfg-eth0
echo "NETMASK=255.255.255.0" >> /mnt/windows/etc/sysconfig/network-scripts/ifcfg-eth0
echo "GATEWAY=144.172.126.1" >> /mnt/windows/etc/sysconfig/network-scripts/ifcfg-eth0

dd-centos7-4.png

5.在产品详情页里,点击 “取消 Operation”按钮,退出急救系统。状态页会从蓝色更改到绿色
dd-centos7-5.png

6.之后,机子会重启,从硬盘加载系统,这是在ipmi里看到的系统启动界面
dd-centos7-6.png

7.如果顺利,可从远程ssh登录。如需使用,还需扩容磁盘和修改/etc/resolv.conf文件中的nameserver值
dd-centos7-7.png

8.如需扩容磁盘,以下命令请在第四步,即在急救模式下,dd完成后执行:

fdisk /dev/sda
partprobe
pvcreate /dev/sda3
vgextend vg0 /dev/sda3
lvextend -L 1.8T /dev/mapper/vg0-lv_root
resize2fs /dev/mapper/vg0-lv_root

dd-centos7-8.png

参考: