ようこそゲストさん

すらりん日記

メッセージ欄

分類 【linux】 で検索

一覧で表示する

2009/05/06(水) メモリ不足チェック

linux
Linuxのメモリ状況について。
freeコマンドの実行結果で次のように表示されて、メモリ足りないじゃん!と疑ってみた。
             total       used       free     shared    buffers     cached
Mem:        307200     303852       3348          0       2264     193092
-/+ buffers/cache:     108496     198704
Swap:       557048      29144     527904
1単位は1kのはずなので今の状況では 3Mほどの空きしかないってこと?
メモリ増やさないとまずいのか?と


どうやらそういうことではないらしい。
各プロセスにメモリを割り当てた後、残っている部分をバッファとキャッシュに利用して
ディスクIOを減らす、ということをOSがやっているようだ。

よって、この場合空きメモリとしてカウントできるのは、
free + buffers + cached の合計値、となる。

でもSwap領域を使っているように見えるが・・・

さらにこのbuffers,cachedで使っている部分も使用頻度に応じてswapへ書き出されることがある。
これがswap使用の理由となっている。

swapの使用状況を見るために vmstat コマンドを利用する.
vmstat 30
として経過を眺める。si,soの項目をみてみる。
  • siの項目がある程度動くのは問題なし
  • soの項目が頻繁に動くのはメモリ不足の疑いあり
ということらしい。


XenServer使っていて、各仮想マシンの状況をチェックするために調べてみました。

2010/01/18(月) バックアップ/リストア方式

linux
HyperVに移す前のバックアップ.
LVMでのバックアップにどうするか試行錯誤中

正しくないけど強引に、
dd if=/dev/mapper/VolGroup00-LogVol00 of=/backup/VolGroup00-LogVol00 bs=1m
これでバックアップがとられるはず。

これを相手先でリストアを試みる予定.

終わらないので寝。

2010/01/27(水) カーネルパニック

linux

カーネルパニック on Hyper-V(CentOS)

Hyper-Vの環境で、kernel 2.6.18-164.11.1.el5を使用すると
どうもカーネルパニックしてしまうようだ。
switchroot 後失敗しているらしい。自力で再コンパイルしてまで最新カーネルに追従したいとも
思えないため、yumでインストールできる程度でなんとか出来ないか思案中。

一つ手前の、2.6.18-164.10.1.el5では問題なかった。
また、このバージョンでLinux用統合サービスをインストールしてうまくいっていることも確認できているため、
ここで止めておくのが無難そう。

実験

試しに、すでにインストール済みのCentOS環境に統合サービスをインストール。
この状態で起動できるものを用意しておく。

そこに、XenServerからの移行のためにddで作成したイメージを用いて
強引にVolGroup00にだけ書き戻しをやってみる。

結果、/bootは最初からあるものを使用し、/以下は書き戻されたものを使用する
という状態をつくることができた。

また、以前の手順のうち、MBRの再設定手順を省くことができたため、移行作業を簡単化できそうな感じである。
INIT: Id "co" respawning too fast: disabled for 5 minutes
このエラーが通知された。よって以前の手順のうち、これを修正する箇所から再開すればよさそう。
そのうちMBR再設定除去版の手順をまとめておこう.

〆(´∀` )

XenServerのときに入れたツールを除去しておいたほうがよさそうである。
rpm -e xe-guest-utilities
Hyper-Vでやる場合にはXen用は不要なので。

2010/02/13(土) HDD消去

linux
パーツを売る前には、HDD消去しておくのが大切ですが、
そのためにソフトを買って確実に消すというのも何かもったいないので、
フリーでHDD消去できる方法を探してみました。

DBAN

Darik's Boot and Nuke(DBAN)というツール。
サイトアドレスは、http://dban.sourceforge.net/ にて。
ISOイメージがあったので、DISC起動で立ち上げてHDDを消去する感じです。

進捗が出るのはいいけど、遅い…。

CIPHERコマンド

WindowsXP Pro以上で使用できるコマンドです。
空き領域に対しての操作ですが、
  1. ディスク全体を単一パーティションに
  2. 単一パーティションになったあと、NTFS形式でクイックフォーマット
という前手順を入れておけば、基本的に全領域が対象になるのでいけるのではないかと。

そのときのコマンドは、
ciper /w:Q:
ここで、"Q"は対象となるディスクドライブです。

そもそも対象領域(ファイルや空き領域)に暗号化を行うツールのようです。

shredコマンド

Linux用です。CentOS5.4のディスクにも含まれていました。
とりあえずrescueモードで起動して、つないであるディスクの消去に使いました。

そのときのコマンドは、
shred -v -z -n 1 /dev/hda
ここで、
  • nは繰り返す回数
  • zは最終パスでゼロ書き込み
  • vは詳細モード。進捗が表示される
というオプションです。
nのあとには、3くらいを設定するのがいいのかもしれませんが、
最後のゼロウメも考えて1を設定してみました。
(ランダム書き込み→ゼロ書き込みの合計2パスになる)

1: じん 『はじめまして。私は、「ホームページ作成ガイド」(http://www.pidguide.com/adiary.cgi/hp/)管...』 (2010/02/25 16:08)

2010/03/21(日) Windowsの共有フォルダのマウント

linux
CentOS5.4からWindows側で共有されているフォルダをマウントする方法。
以前smbfsがなくて、cifsでマウントすると書いたものの、
今現在また苦労したのでここにメモとして書いておこうと思います。

必要なもの

必要なものとして samba,samba-clientが必要。これらを忘れたためにマウント出来なかった。
yum install samba samba-client
インストールした後には、mount.cifsがパス上に存在すると思うので、それで確認してみるといいかも。

その後、共有フォルダをマウントするには下記のようにコマンドを打ち込む。
mount -t cifs -o username=hoge,file_mode=0755,dir_mode=0755 //192.168.1.1/ShareFolder /mnt/winshare

エラーメッセージ

インストールを忘れていると、ログインに失敗した意のエラーメッセージが出てくる。
cifsが使えないという意味のエラーメッセージではないため、上記の解決に至るまでちょっと時間がかかった。
LOGIN FAILUREとか出てきたら、mount.cifsがその環境で存在するかを確認してみるといいかもしれない。

ほかにも、Windows側のファイアウォールを無効化してテストしてみるのも有効だと思われる。
(デフォルトだとpingも通してくれないし、設定中はいろいろとFWが邪魔になります)

2010/03/22(月) ESXi上の仮想マシンのバックアップを考える その2

linux
前回の結論にどうも納得が出来ない状況だったので、
通常のバックアップをどうするかを検討してみました。

通常バックアップに求められる要件

  • 簡単にバックアップ処理/リストア処理ができること
  • バックアップ処理が割と高速に出来ること
  • システム全体を丸ごとバックアップ出来ること。

ESXiで管理されているスナップショットについて

なるべくなら残しておきたいが、通常運用時のバックアップファイルがあれば
通常運用が継続できる。スナップショットが失われても被害は少ない(はず)。
スナップショットを残して、どうにかしたい場合はESXiの管理下のファイルを丸ごと取っておく、とか。

バックアップ検討

ESXi上でのスナップショットや設定をあきらめることで、バックアップの新しい方法が見えてきた。
といっても新しい代物ではなく、Linuxマシンをシステムごとバックアップ取るという通常のものに戻っただけ。

そこでいろいろとバックアップ関連を調べてみたところ、
dumpコマンドによるものやほかのツールを使うものが該当した。
ここでは、mondorescueというツールを使って試してみることにした。

mondorescueの利点

  • isoファイルとしてバックアップデータを書き出せる。リストア時はこのイメージから起動して元に戻せる
  • コマンド1発でバックアップ処理が可能。

mondorescueの欠点

  • LVMを扱っている状態だと、リストア時に問題発生可能性が高い。
  • 環境によってはリストア出来ない・・・。expertモードで何とか出来るらしいが。
那由多屋 開発日誌さんのところでexpertモードによるリストア処理が説明されていて参考になりそうでした。


これらのことよりmondorescueを試してみることにした。

mondorescue

とりあえずインストール作業をして使用可能状態にしておく。

バックアップ処理

次のコマンドを入力して、4.2GBのDVDディスク向けとした状態でバックアップ処理を開始。
mondoarchive -O -i -L -d /backup/ -E /backup -s 4200m
この場合だと、/backup/mondorescue-1.iso というファイルができあがっていた。
これを元に続いてリストア処理を試してみる.

リストア処理

いくつか罠がある。
リストアの処理を確認するために、VMwareWorkstation6.5上の仮想マシンを利用した。

mondorescueでは、バックアップの環境とリストアの環境は全く同じハード状態を想定しているのか、
ハードディスクのサイズが違うとリストアに失敗した。
少なくとも、元サイズと同じディスクを接続しておかなくてはならない。

また、IDE/SCSI接続どちらで仮想PCを使っていたか、という点についても同じにしなくてはならなさそう。
(Expertモードによる復旧ならばこれもIDE->SCSIへの変換も可能なのかもしれないが)

この注意点に気をつければ、LVMパーティション使っていても正常にリストア処理が完了した。
ただし、ESXi上の仮想マシンをこれでバックアップし、VMwareWorkstation上で展開したのだから
きわめて近い状態へ書き戻しを行っているという点に注意する必要がある。

リストアの処理は、isoファイルをマウントしてこのディスクから起動するようにする。
そして、boot:で聞かれた時には、nuke を入力して放置。
これだけで自動でリストア処理が完了する。うまくいけばかなり手軽に戻せる。
boot: nuke
しかし物理マシン丸ごと交換の場合はこの方法は使えないだろう。
また、仮想環境のホストを交換して、このバックアップからリストア処理を用いてデータ移行するという方法も
ちょっと厳しいのではないかと考えられる。

mondorescueのインストールについて

rpmforgeリポジトリを有効化してある状態ならば、yumでインストールが可能のようだ。
これで入るのが、mondo-2.2.4-1.el5.rf だった。最新ではない点には注意。
yum install afio mindi mindi-busybox mondo

==========================================================================================
Package Arch Version Repository Size
==========================================================================================
Installing:
afio x86_64 2.5-2.el5.rf rpmforge 79 k
mindi x86_64 2.0.0-1.el5.rf rpmforge 217 k
mindi-busybox x86_64 1.7.2-1.el5.rf rpmforge 298 k
mondo x86_64 2.2.4-1.el5.rf rpmforge 884 k
Installing for dependencies:
buffer x86_64 1.19-2.el5.rf rpmforge 23 k
cdrecord x86_64 9:2.01-10.7.el5 base 594 k
mkisofs x86_64 9:2.01-10.7.el5 base 608 k

Transaction Summary
==========================================================================================
Install 7 Package(s)
Update 0 Package(s)
Remove 0 Package(s)


yum install lzo lzop
すでにインストールされていた場合不要

最新版をインストールする

ftp://ftp.mondorescue.org/rhel/5/mondo-2.2.9.2-1.rhel5.x86_64.rpm
からダウンロード可能だったので、これに更新してみる。

CentOS5用に出ていたのでこちらを使用してみます。
ftp://ftp.mondorescue.org/centos/5
# wget ftp://ftp.mondorescue.org/centos/5/*.rpm
# rpm -Uvh mindi-2.0.6-1.centos5.x86_64.rpm mondo-2.2.8-1.centos5.x86_64.rpm
error: Failed dependencies:
mindi-busybox >= 1.7.3 is needed by mindi-2.0.6-1.centos5.x86_64
まだまだ依存関係があるようだ。
# wget ftp://ftp.mondorescue.org/rhel/5/mindi-busybox-1.7.3-1.rhel5.x86_64.rpm
# rpm -Uvh mindi-2.0.6-1.centos5.x86_64.rpm mondo-2.2.8-1.centos5.x86_64.rpm mindi-busybox-1.7.3-1.rhel5.x86_64.rpm
これで旧バージョンでは作業中に停止してしまいバックアップがうまく出来ないケースがあったが、
この更新によりバックアップ処理が最後までいくようになった。

2010/03/24(水) いろいろな罠

linux
ここ最近はまった罠を書いておこうと思います。

Mondorescueのバックアップにて

除外パスの設定で、末尾を"/"で終わるとバッファオーバーフローのエラーとなる。
除外パスは、そのディレクトリ名までで終わること。

この設定を施して SCSIのマウント関連を除外してやったら
VMware上でのバックアップもうまくいっている感じ。

mondorescue -E "/home/Recycled /home/Hoge"

VMware vCenter Converter Standaloneにて

VMwareWorkstationの仮想マシンをESXiに注入するときに、
このソフトを用いて設定しようとしたときに、"The session is not authenticated"というエラーが。
対象ESXiサーバーにログインし、仮想マシン一覧も取得できているのになぜ?という状態で起こる。

調べてみるとタスクが残る(残っている)ことがあるようで、それを終了すればこのエラーは復帰するらしい。
Windows7環境ではよくわからなかったのと、別件でPCを再起動する予定があったので、
PCを再起動させて再度チャレンジしたところ、この問題は解決した。

2011/05/22(日) KVMを触ってみる

linux
CentOS 5.6を入れて、KVMを試してみようとがんばっていましたが、
色々と目的の動きをしてくれなくて苦戦しました。

結局のところ、やってみたいことが
  • SPICE(リモートデスクトップ、VNCの代替)
  • デバイスパススルーの確認
ということだったので、割と難易度は高めの物でした。

はまった点 その1

起動時にvt-dをenableにした状態では延々と再起動を繰り返し、
システム起動完了にならなかったこと。

解決するためには、起動時のカーネルパラメータに
intel_iommu=on を追加する必要がありました。
追加するために、一度vt-dをdisableにして起動させて、エディットしました。
grubのメニューでエディットする方法もありだと思います。

その2

"-vga qxl"のパラメータを解釈してくれない。
この時点でCentOS 5.6付属のKVMではダメみたい。

よって、実験的で魅力的な機能を備えているFedora14をチャレンジしてみることにしようかと思います。

また、Fedora14でのこれらの情報は、Software Design5月号で掲載されていましたし、
まずはそれをトレースすることでSPICEまでのチェックは出来そうです。

2011/05/23(月) Fedora14のインストールで足止め

linux
Fedora14のDVD ISOファイルをダウンロードして
いざインストールしようとしたら、ディスクが見つからなくて立ち往生。

"BIOS RAID メタデータが含まれていますが、認識された BIOS RAID セットの一部ではありません。"

とエラーが表示されてしまう。

とりあえず、全パーティション削除したのち、ddコマンドでゼロウメを行った後で、再チャレンジ予定。

これでうまくいかなかったらどうしようか(涙

2011/05/24(火) Fedora14のインストールで足止め(2)

linux
1TBのディスクだったので1日半ほどかけて、
dd if=/dev/zero of=/dev/sda
のコマンドを実行。
その結果、ようやくインストール時にハードディスクを見つけてくれました。
『BIOS RAIDメタデータ』の呪縛から逃れられた感じです。

これでやってみたいことのためにFedora14のインストールを続行できる♪