2012年12月21日金曜日

Step 1 - 4

既にこれを書いている時点で Step 4 程度まで来ています。おさらいですが、Step 4 までというのは
  1. CentOS が使っているディスク領域を空ける(3.5TB 中 1.5TB 空きに)
  2. その ext4 ファイルシステムを 1.5TB 以下に縮小し、LVのサイズも縮める
  3. 2TB 余ったので 2TB HDD x 2 (RAID 1) を VG から抜く
  4. 3で余った HDD を RAID 1 にし、新たな VG/LV を作り、CentOS の / や /boot 等をコピー
ですね。1は手作業でいらないファイルを消したり、開発機のほうに移動したりを地道に。Step 2 は
# e2fsck -f /dev/mapper/vg0-lvm0
# resize2fs /dev/mapper/vg0-lvm0 1300G
# lvreduce -L 1300G /dev/mapper/vg0-lvm0
な感じで。 微妙に足りないとかだと困るので思い切って 1.3TB まで減らしました。そしたら偶然なのかわからないですが、外す予定の 2TB の HDD のほうが空になってくれたので、extent の移動とかはしなくてすみました。Step 3 は
# mdadm --stop /dev/md127
# mdadm --misc --zero-superblock /dev/sdd1 /dev/sdd2
な感じ。RAID を解除して、さらにその情報もクリアしたと。そして問題の Step 4 ですが
# mdadm --create /dev/md1 --level=1 --raid-devices=2 --metadata=0.90 missing /dev/sdd1
# mdadm --create /dev/md3 --level=1 --raid-devices=2 missing /dev/sdd3
# mkfs.ext3 /dev/md1
# e2label /dev/md1 /boot
# pvcreate /dev/md3
# vgcreate vg_root /dev/md3
# lvcreate -n lv_root --size 256G vg_root
# mkfs.ext4 /dev/vg_root/lv_root
# e2label /dev/vg_root/lv_root /
# mdadm --detail --scan > /etc/mdadm.conf
最後のをやらないと再起動後に RAID 構成が自動認識されたりされなかったり不安定な挙動を示したので重要なのかな。RAID の /dev/md*** の *** の部分は毎回変わるので以降はラベルで管理。/dev/md1 のやつを /boot に、あとは lv_root に / を置きます。データ類は別パーティションなので 256G で十分ではないかとの予想。

さて問題はここからでした。再起動後 GRUB で e を押し、kernel の行の最後に single を追加して b を押してブート。/ や /boot をそれぞれ新しいパーティションにコピー。再起動してまた e を押し、HDD に切り替えてブート。 

Kernel Panic

orz

うーむ。initrd を作り直しとかもやってみたんですけどね。どうにもうまくいかない。起動時に CentOS 6.3 という文字が出てバーがにゅーっと伸びていくやつありますよね。そのバーがもう少しで最後まで届く、その直前あたりでバーが伸びなくなって、そのちょっと後にこれになります。HDDが見えてないのかなぁ。しばらく悩んでたんですが、解決には至らず。

なので計画を改めます。そういえばコピー元の CentOS は VM だったんで i386 を入れてました。ホストOSになるには当然 x86_64 を入れるべきなのでこれは現状の移行は諦めて現状の CentOS はそのまま VM にして、新たに 64bit の CentOS をホストに入れることで対応することにします。新規インストールです。なのでステップ4、5は改めて
  1. SSD を外し、3であまった HDD 2台を RAID 1 にして CentOS をインストール
  2. ESXi 上で動いていた VM たちを KVM にコンバート
にします。

しかし少し不安なのは最終的にサーバーの CPU やら M/B やらをとりかえようと思っているので、そのときにまた kernel panic にならないかどうか・・・。とりあえずはならないことを祈って進みますけど。

0 件のコメント:

コメントを投稿