Linux

Linux LVMミラーを構成する!

折角のG/WなのでESXのバージョンを6.0から6.5にUpdateしようと思って色々とやってみたらデータが飛んだ今日この頃です…  😥 


H/W RAID基板で無理やりRAID1化していたので、片方のSATAケーブルを抜いてUpdateしようとしたところ、ESXが見えなくなるという事態が発生…
新しく交換したH/W RAID基板が役に立たない事がここにきて判明…
何故か基板を通さずに接続すると中のデータは見えたので、旧H/W RAID基板に交換してUpdateしようとしたんですが…


普通に起動すると問題ないにも関わらず、CDから起動するとVMFSパーティションが発見できない自体に…  😆
仕方なく、ココを参考にESXの設定をダウンロードしてUSBメモリに新規でESXをインストールして設定を書き戻ししてなんとか復旧。

壊れかけたRAIDは意味がないので、片方のディスクを直接接続して新規にデータストアを作成し中のデータをちまちまコピー…
やっとこさっとこESXのバージョンを6.5に上げたのですが、USBパススルーで見せていたICカードリーダーがどうやっても使えない事が判明…(ライセンスの関係か?)
仕方なく元のバージョンに戻すハメに。
色々復旧作業をしている最中にハングアップ状態になったため強制的にリセットを掛けたらLinuxが起動不可能に…  👿

症状は、データディスク「xxxx.vmdk」が依存しているスナップショット ディスクの 1 つを開くことができません… などというもの。
色々調査してみたものの、構成ファイルに不足はなくvmdkファイルを再作成しても解消せず…
コピーも何もできず、Invalid argument (1441801) エラーが出力されるのみ。
どうもVMFSのハートビート情報とやらが壊れているんだとか。解消法はVMwareにコンタクトしろ…と書かれた情報しか見つからなかった。  :mrgreen:

仕方ないので新規にまっさらなディスクを作成しLinuxにアサイン
元のディスク構成をこのブログに書いていたので、Googleのキャッシュから同容量でvgを再作成。
後は、日次で自動的に取得しているバックアップ(数日に1回しか成功してないけど)からリカバリ…

これで一部領域を覗いて、1週間前程度までは何とか復旧できた。  😕
DBの情報だけはシステムディスク側にも最新のデータをちゃんとコピー出来ていたので復旧できたものの、画像ファイル(このブログのもの)などは再度Uploadし直して記事を修正したり…

Windows10Proであれば標準機能でソフトウェアミラーが組めることがわかったので、H/W RAID基板無しで構成してみることに…(参考はこちら
LinuxのLVMの場合はどうすればいいのか… やってみたので以下に残しておきます。

PVを初期化
[root@Linux-Server ~]# pvcreate /dev/sdc
Physical volume "/dev/sdc" successfully created.
[root@Linux-Server ~]#

初期化したPVをミラーを構成するVGに追加
[root@Linux-Server ~]# vgextend /dev/vg01 /dev/sdc
Volume group "vg01" successfully extended
[root@Linux-Server ~]#

VGのに追加されたことを確認
[root@Linux-Server ~]# vgdisplay -v vg01
--- Volume group ---
VG Name vg01
System ID
Format lvm2
Metadata Areas 2
Metadata Sequence No 6
VG Access read/write
VG Status resizable
MAX LV 0
Cur LV 4
Open LV 4
Max PV 0
Cur PV 2
Act PV 2
VG Size 599.99 GiB
PE Size 4.00 MiB
Total PE 153598
Alloc PE / Size 75776 / 296.00 GiB
Free PE / Size 77822 / 303.99 GiB
VG UUID z1jfRV-0Udm-N1l0-aGrS-4DQc-0LPY-qLcMjF

--- Logical volume ---
LV Path /dev/vg01/lvol1
LV Name lvol1
VG Name vg01
・・・中略・・・
--- Physical volumes ---
PV Name /dev/sdb
PV UUID zBeoFk-K6dd-O72O-oSlh-AlHt-4K1j-XEQyoa
PV Status allocatable
Total PE / Free PE 76799 / 1023

PV Name /dev/sdc
PV UUID TB8AGg-685e-d3Mk-CJwe-bxpv-axNr-317b3D
PV Status allocatable
Total PE / Free PE 76799 / 76799

ミラー構成の対象となる論理ボリュームの数と名前を確認
[root@Linux-Server ~]# vgdisplay -v vg01 | grep lvol
LV Path /dev/vg01/lvol1
LV Name lvol1
LV Path /dev/vg01/lvol2
LV Name lvol2
LV Path /dev/vg01/lvol3
LV Name lvol3
LV Path /dev/vg01/lvol4
LV Name lvol4
[root@Linux-Server ~]#

ミラー構成
[root@Linux-Server ~]# lvconvert -m1 /dev/vg01/lvol1
Are you sure you want to convert linear LV vg01/lvol1 to raid1 with 2 images enhancing resilience? [y/n]: y
Logical volume vg01/lvol1 successfully converted.
[root@Linux-Server ~]# lvconvert -m1 /dev/vg01/lvol2
Are you sure you want to convert linear LV vg01/lvol2 to raid1 with 2 images enhancing resilience? [y/n]: y
Logical volume vg01/lvol2 successfully converted.
[root@Linux-Server ~]# lvconvert -m1 /dev/vg01/lvol3
Are you sure you want to convert linear LV vg01/lvol3 to raid1 with 2 images enhancing resilience? [y/n]: y
Logical volume vg01/lvol3 successfully converted.
[root@Linux-Server ~]# lvconvert -m1 /dev/vg01/lvol4
Are you sure you want to convert linear LV vg01/lvol4 to raid1 with 2 images enhancing resilience? [y/n]: y
Logical volume vg01/lvol4 successfully converted.
[root@Linux-Server ~]#

ミラーの構成情報を確認
[root@Linux-Server ~]# lvs -a -o name,copy_percent,devices vg01
LV Cpy%Sync Devices
lvol1 18.80 lvol1_rimage_0(0),lvol1_rimage_1(0)
[lvol1_rimage_0] /dev/sdb(0)
[lvol1_rimage_1] /dev/sdc(1)
[lvol1_rmeta_0] /dev/sdb(75776)
[lvol1_rmeta_1] /dev/sdc(0)
lvol2 100.00 lvol2_rimage_0(0),lvol2_rimage_1(0)
[lvol2_rimage_0] /dev/sdb(61440)
[lvol2_rimage_1] /dev/sdc(61442)
[lvol2_rmeta_0] /dev/sdb(75777)
[lvol2_rmeta_1] /dev/sdc(61441)
lvol3 100.00 lvol3_rimage_0(0),lvol3_rimage_1(0)
[lvol3_rimage_0] /dev/sdb(61696)
[lvol3_rimage_1] /dev/sdc(61699)
[lvol3_rmeta_0] /dev/sdb(75778)
[lvol3_rmeta_1] /dev/sdc(61698)
lvol4 100.00 lvol4_rimage_0(0),lvol4_rimage_1(0)
[lvol4_rimage_0] /dev/sdb(68096)
[lvol4_rimage_1] /dev/sdc(68100)
[lvol4_rmeta_0] /dev/sdb(75779)
[lvol4_rmeta_1] /dev/sdc(68099)

新たな不具合が出ない事を祈る…  😎 

MSA1000修理のついでにサーバー環境をちょっと改善

つい先日、MSA1000のファンが壊れたーと騒いでおりましたが、新品のファンが届きましたのでファン交換ついでに色々とサーバー周りを改善してまいりました。 🙂


さすがに古さを感じる佇まいであります… 😕


とりあえずはこちらが新品のFAN。
ラックを引き出して裏側をこんにちは… 😎

片側(右側)が完全に死んでます。
…というか埃も凄いことに…

新しいFANに交換するとこんな感じ… 方系運転だとFANが全速回転するので、これで少し静かになります。

パネルの表示も問題なさそうで何よりです。 😛

次はついでのHP Integrity rx2600のカード交換。

一番下の2Uのラックマウントサーバです。

ぐぐっと引き出します… 見た目によらず、結構奥行きがあるんですよねコレ。 😆

シャーシをあけてIOスロット部分を取り外すとこんな感じになります。

一番上に刺さっているカードを交換して、空いてるスロットには追加でカードを挿入します! 😉

一番上が取り外した「A6795A PCI-X 2Gb FibreChannel HBA」です。
その下が交換&追加する「AD194A PCI-X 2Port 4Gb FibreChannel HBA & 2Port 1Gb Ether」「A6825A PCI-X 1Gb Ether ×2枚」
これでFCが2ポート、LANは内蔵を含めて6ポートになります。 😀

交換して電源を入れると… ふむふむ。カードは認識している様子…
Brocade側にてステータスを確認。うんOK、ちゃんとリンクしてます。 😛

MSAはシリアルケーブルを持ってくるのを忘れたので、今回はGUIにて設定しました。
勝手にWWPNを拾ってくるので、適当な名前をつけてホストモードを設定してやります。

元のカードと同じ用にディスクをアサインします。
うーん。SANブートだとこういうときは面倒ですねぇ… 🙁

その後、更についでにコアスイッチを100MbのCatalystから1000GbのPowerConnect(DELL)に変えることに… このスイッチは現光輪サーバー環境でもともと使っていたお古です。おいて置いてももったいないので組み込むことにします。 😆


結果、こんな感じになりました。
HP Integrity rx2600は、追加したLAN用に閉じたVLANを作ったので、今度新しくLANケーブルでも配線しようかな…とか考え中です。 😎

MSA1000トラブル発生!

年明けに実家に行ってまいりました。
MSAやIntegrityなんかはそっちに置いてあるんですが、なんかいつもより音が煩い気が…

って事で、繋がってる旧光輪サーバーをシャットダウンしてMSAの電源落として、折角だから埃飛ばしたりお掃除してから電源を入れ直してみたりしたら…

赤々とともるLED… Batteryの問題だったら別にいいんですが(良くは無いけど)
近づいてみてみると…


うむむ、どうやら今度は反対側のFANがお亡くなりになったみたいですね。
とか思ってたらディスクが1本認識してないとかメッセージも出たいたり…


一度抜いて指し直してみたら… リビルド開始。大丈夫っぽいです。


サーバーからもちゃんとアクセスできるので、まぁ大丈夫なんでしょう…
とりあえずFANは片系運転になってしまっているのでサクっと交換品をeBayで購入。
このさいバッテリーも… と思ったんですが、eBayはちょっと高いのよね…
米Amazonとかだったら安く買えるんですが、恐らくバッテリーって理由だと思うんですが、購入できない…(リチウムイオンじゃなくて、ニッケル水素なのに)
めちゃめちゃ安いところは発見したんですが、最小10個から… 多すぎじゃぃ!

Redhat/CentOS yumアップデート前に自動的にESXのスナップショットを作成する

Redhat/CentOSのyumアップデートは皆さんどのくらいの頻度で実施されているんでしょうか…
管理人は過去に自動的に毎日実施する様にしていたら、gccのライブラリ更新でエラーを吐き始めてそのままOSがお亡くなりになっていた事があり、それから慎重になってしまいました。
ただ、現在の光輪サーバはESX上で動いているのでスナップショットで簡単にバックアップが撮れるので活用する事に…

ただ手動でやるのは面倒なのでスクリプトを作ってみました。
まず、ホストのESXiシェルとSSHを有効にしておく必要があります。


(上記クリックでダウンロード)

事前にTeraTerm等でESXにログインして、vim-cmd vmsvc/getallvms コマンドでVMIDを控えて下さい。

例)
 [root@Living-ESX:~] vim-cmd vmsvc/getallvms
 Vmid          Name                                File                              Guest OS          Version                Annotation
 1     Linux-Server          [datastore] Linux-Server/Linux-Server.vmx       rhel6_64Guest            vmx-11    Redhat
 2     WindowsXP             [datastore] WindowsXP/WindowsXP.vmx             winXPProGuest            vmx-11
 3     Windows10             [datastore] Windows10/Windows10.vmx             windows9_64Guest         vmx-11
 [root@Living-ESX:~]

上記スクリプトの下記を環境に合わせて修正
VMID=上記で控えたVMID
PASSWORD=’ESXのパスワード
ESXIPADD=”ESX 管理IPアドレス

これを対象Linuxにて、OS側で自動的なyum updateが仕込んである場合はそちらを停止した上で、rootのcronに以下の様な感じで登録すればOKです。(/root/updateyum.shに配置した場合)

30   01 *  *  *  /root/updateyum.sh >> /root/updateyum.log 2>&1


成功するとこんな感じでスナップショットが作成されます。

Next »