tech_memo / linux / cobbler / dualBoot


tech_memo/linux/cobbler

概要

  • cobblerを利用した、デュアルブート用OSインストール方法

前提

  • デュアルブートに利用しているブートローダは、grubレガシー

手順

1. 既存OSのDiskクリーンアップ

  • 既存OSを削除しない場合は本手順はスキップ可能
  • 本手順の例で扱う削除OSのパーティション構成は、現状のmymachinesサーバ(testserver19, racdb1, racdb2, dbserver以外)とする
    • パーティションは2つ(/bootとPV(physical volume)で構成されている
  • 上記のパーティション構成に乗っ取らない場合(不明の場合)は、削除OSを一度起動するか、削除OSの/パーティション(or Logical Volume)をマウントし、/etc/fstabを確認して、パーティション構成を把握する

手順概要

  1. 以下の順でLVM構成を削除
    • LV(Logical Volume) --> VG(Volume Group) --> PV(Physical Volume)
  2. 以下のパーティションを削除
    • /bootパーティション
    • 上記PVに利用していたパーティション

手順詳細

  1. 削除OSの/bootパーティション確認
    • /etc/grub.confから確認。下記例で、RHEL7.1のOSを削除する場合は、2番目のDisk(sdb)の、3番目のパーティション
      title Red Hat Enterprise Linux 6.3 (2.6.32-279.el6.x86_64)
              root (hd0,0)
              kernel /vmlinuz-2.6.32-279.el6.x86_64 ro root=/dev/mapper/VolGroup00-LogVol00 rhgb quiet vnc rd_NO_LUKS LANG=en_US.UTF-8 rd_NO_MD SYSFONT=la
              initrd /initramfs-2.6.32-279.el6.x86_64.img
      title Red Hat Enterprise Linux 6.5 (2.6.32-431.el6.x86_64)
              root (hd1,0)
              kernel /vmlinuz-2.6.32-431.el6.x86_64 ro root=/dev/mapper/VG_rhel65-LV_root rd_NO_LUKS LANG=en_US.UTF-8 rd_LVM_LV=VG_rhel65/LV_root rd_NO_MD
              initrd /initramfs-2.6.32-431.el6.x86_64.img
      title Red Hat Enterprise Linux 7.1 (3.10.0-229.el7.x86_64) # ★
             root (hd1,2) # ★ 数値は0オリジン
             kernel /vmlinuz-3.10.0-229.el7.x86_64 root=/dev/mapper/VG_rhel71-LV_root ro crashkernel=auto rd.lvm.lv=VG_rhel71/LV_swap rd.lvm.lv=VG_rhel71
             initrd /initramfs-3.10.0-229.el7.x86_64.img
  2. 削除OSのPV(Physical volume)とVG(Volume Group)を確認
    • pvscanにて、sdb7がPVで、VGを構成するために利用されていることがわかる
      [root@testserver13 ~]# pvscan
        PV /dev/sdb7   VG VG_rhel71     lvm2 [99.97 GiB / 320.00 MiB free]
        PV /dev/sda2   VG VolGroup00    lvm2 [135.81 GiB / 0    free]
        PV /dev/sdb2   VG VG_rhel65     lvm2 [199.97 GiB / 0    free]
        PV /dev/sdb6   VG VG_rhel72     lvm2 [99.97 GiB / 320.00 MiB free]
  3. 削除OSの利用しているLV(Logial volume)の確認
    • lvscanで確認。上記VGの名前(VG_rhel71)から、対応するLVがわかる
      [root@testserver13 ~]# lvscan
        ACTIVE            '/dev/VG_rhel72/LV_swap' [16.00 GiB] inherit
        ACTIVE            '/dev/VG_rhel72/LV_root' [83.66 GiB] inherit
        ACTIVE            '/dev/VG_rhel65/LV_root' [183.97 GiB] inherit
        ACTIVE            '/dev/VG_rhel65/LV_swap' [16.00 GiB] inherit
        ACTIVE            '/dev/VolGroup00/LogVol00' [119.81 GiB] inherit
        ACTIVE            '/dev/VolGroup00/LogVol01' [16.00 GiB] inherit
        ACTIVE            '/dev/VG_rhel71/LV_swap' [16.00 GiB] inherit
        ACTIVE            '/dev/VG_rhel71/LV_root' [83.66 GiB] inherit
  4. LV削除
    [root@testserver13 ~]# lvremove /dev/VG_rhel71/LV_root
    Do you really want to remove active logical volume LV_swap? [y/n]:y
    [root@testserver13 ~]# lvremove /dev/VG_rhel71/LV_swap
    Do you really want to remove active logical volume LV_swap? [y/n]:y
  5. VG削除
    [root@testserver13 ~]# vgremove VG_rhel71
  6. PV削除
    [root@testserver13 ~]# pvremove /dev/sdb7
  7. sdb3(/boot)および、sdb7のパーティション削除
    [root@testserver13 ~]# fdisk /dev/sdb
    Command (m for help): d
    Partition number (1-7, default 7): 3
    Partition 3 is deleted
    
    Command (m for help): d
    Partition number (1,2,4-7, default 7): 7
    Partition 7 is deleted
    
    Command (m for help): w
    # 現在マウントしているDiskの場合、WARNが出るが無視してよい

2. 新規インストールOS用のgrubのエントリ追加

3. cobblerの設定

  1. cobbler systemの登録
    • testserver18:/var/lib/cobbler/add_system_script/regist_list に必要項目を記入
    • testserver18:/var/lib/cobbler/add_system_script/add_mymachines.sh または、add_oldservers.shを実行
  2. Kickstart, SNIPPETの編集
    • 下記を参照
      • tech_memo/linux/cobbler/kickstart
      • Kickstart格納ディレクトリ : testserver18:/var/lib/cobbler/kickstarts
      • SNIPPET格納ディレクトリ : testserver18:/var/lib/cobbler/snippets

4. OSインストール

  1. cobbler, tftpd, httpd, dhcpdが起動しているのを確認してサーバを再起動
  2. サーバ起動画面でF12(Network boot)

5. OSインストール後の設定