作業記録メモ

Linuxサーバー立ち上げ設定等のメモ(忘れないための作業記録)

スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。




VMware on linux

自鯖をWindowsのVMで動作させていたのだが、なんとなくLinuxで動作させようと思った。

詳細な記事は「Install VMWare in Ubuntu 8.04(英語)」を参照して頂ければ良いのだが、現在のUbuntu 8.10だと、VMの1.08はうまく導入できなかった、、、
2.0はうまく動作させることに成功したのだが、最初にしょうもないことでエラく躓いた、、

Windowsで動作させていたファイルをそのままLinuxへコピーしたのだが、ハードディスクが壊れていると、エラーが発生、、、
VMは複数台のディスク構成なんだけど、壊れていないものもある

ファイルが「ubuntu.vmdk」、「Ubuntu-flat.vmdk」、「Ubuntu var.vmdk」、「Ubuntu var-flat.vmdk」、「Ubuntu swap.vmdk」、「Ubuntu swap-flat.vmdk」となっていて、ブートにしている「ubuntu.vmdk」が壊れている

なんだかんだで気が付いたのは、「ubuntu.vmdk」のファイル名の先頭が小文字になっている、、、
なんてこったい、、、

Windows上で「vmware-vdiskmanager.exe」の「-n」オプションで「ubuntu.vmdk」の名前を変更
で、もう一度Linuxへコピーしたところ、バッチリOK

地味なところで、えらく躓くものだ、、、



スポンサーサイト

テーマ:UNIX/Linux - ジャンル:コンピュータ

VMのディスク領域を増やす

自鯖に使っているVMサーバの空き容量が少なくなったのを改善できました。

※ここにある作業は、かなりの危険なので、必ずバックアップをとって、自己責任で、、、
もっと簡単な方法があえれば教えてください・・・


1.VMでディスクサイズは大きく出来る(以下、自鯖の例)
コマンドプロンプトでVMのフォルダへ移動してサイズを変更する。

> cd "C:\Virtual Machines\Ubuntu Server"
> "c:\Program Files\VMware\VMware Server\vmware-vdiskmanager.exe" -x 12Gb ubuntu.vmdk

が、Ubuntuの/のサイズを変えれない・・・ってことでハマったのなんのって


2.しょうがないので新しいデバイスにマウント先を変更することに
VMのGuestOSをいったん停止して
現在 /dev/sda のみ
変更 /dev/sda /(/var以外)
/dev/sdb swap
/dev/sdc /var
のように変更することに決定

VMでディスクを追加して、ハードが認識されているか確認

:~$ sudo fdisk -l

Disk /dev/sda: 12.8 GB, 12884901888 bytes
255 heads, 63 sectors/track, 1566 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Disk identifier: 0x000eae6b

Device Boot Start End Blocks Id System
/dev/sda1 * 1 492 3951958+ 83 Linux
/dev/sda2 493 522 240975 5 Extended
/dev/sda5 493 522 240943+ 82 Linux swap / Solaris

Disk /dev/sdb doesn't contain a valid partition table

Disk /dev/sdc doesn't contain a valid partition table



3.ディスク領域の確保とフォーマット
sdbにsdaと同じようにswapの領域を作成

:~$ sudo fdisk /dev/sdb
nコマンドでe(extened)領域作成
パーティションは1で全ての領域を割り当てる(ENTER押すだけ)

nコマンドでl(logical)領域作成
これも全ての領域を割り当てる

tコマンドでパーティションタイプの変更
5番のパーティションをLinux swap(82番)にする

wコマンドで変更内容の書き込みと終了
これをしないと今までの作業はなしとなる


こんどはsdcにディスク領域の作成(こっちは簡単)
nコマンドでe(extened)領域作成
パーティションは1で全ての領域を割り当てる(ENTER押すだけ)

wコマンドで変更内容の書き込みと終了


:~$ sudo mkswap /dev/sdb5
でswapの作成
xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
位の長い値が返ってくるので間違えないよう記録しておく

:~$ sudo mkfs -t ext3 /dev/sdc1
でフォーマット


4.とりあえずswap領域を変更してみる
swapが変わったか確認をするために現在の状態確認

:~$ free
total used free shared buffers cached
Mem: 515440 112692 402748 0 4372 59492
-/+ buffers/cache: 48828 466612
Swap: 240932 0 240932



fstabの変更

:~$ sudo nano /etc/fstab
# /dev/sda5
UUID=xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx none swap sw 0 0
xxxxの部分を先ほどの番号に置き換えてOSの再起動



再び、メモリのチェック

:~$ free
total used free shared buffers cached
Mem: 515440 106560 408880 0 3768 56832
-/+ buffers/cache: 45960 469480
Swap: 524248 0 524248

swap領域が増えていることを確認


5.次はOSに認識させるため、まずはハードのIDを取得しておく
:~$ sudo vol_id -u /dev/sdc1
xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
位の長い値が返ってくるので間違いなく記録しておく

fstabへ以下の内容を追加する(# /dev/sda1のUUID行の下くらい?)
:~$ sudo nano /etc/fstab
# /dev/sdc1 -> /var
UUID=xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx /var ext3 relatime,errors=remount-ro 0 1


で、ここからが・・・
:~$ sudo /etc/init.d/xxxx stop
止めれそうなサービスは全て止める(sshやnetworkは止めない)

スーパーユーザーになって作業する

:~$ sudo su
:~$ mkdir /work
:~$ mount -t ext3 /dev/sdc1 /work
:~$ cp -dpR /var/ /work/ (時間が掛かる)
:~$ mv /var /var2
:~$ mkdir /var


ここまで済んだら再起動して正常起動することと、ディスクの状態を確認

:~$ df
Filesystem 1K-blocks Used Available Use% Mounted on
/dev/sda1 3920768 1139196 2583976 31% /
varrun 257720 64 257656 1% /var/run
varlock 257720 0 257720 0% /var/lock
udev 257720 64 257656 1% /dev
devshm 257720 0 257720 0% /dev/shm
/dev/sdc1 8319776 1744288 6156196 23% /var


以上で完了・・・



テーマ:UNIX/Linux - ジャンル:コンピュータ

cronからのメールの文字化け

再びcronですが、、、
送られてくるメールが文字化けてて、どうしたものかと2時間以上の悪戦苦闘、、、
わかってしまえばどうってことなかったんですけど、、、

現在ubuntu8.04なので、バージョンによっても違うかもしれないけど、標準出力に日本語を含む結果を返すphpのスクリプトを実行すると、受信したメールはスッカリ文字化けしています。
localeコマンドを打つと

LANG=ja_JP.UTF-8
LC_CTYPE="ja_JP.UTF-8"
LC_NUMERIC="ja_JP.UTF-8"
LC_TIME="ja_JP.UTF-8"
LC_COLLATE="ja_JP.UTF-8"
LC_MONETARY="ja_JP.UTF-8"
LC_MESSAGES="ja_JP.UTF-8"
LC_PAPER="ja_JP.UTF-8"
LC_NAME="ja_JP.UTF-8"
LC_ADDRESS="ja_JP.UTF-8"
LC_TELEPHONE="ja_JP.UTF-8"
LC_MEASUREMENT="ja_JP.UTF-8"
LC_IDENTIFICATION="ja_JP.UTF-8"
LC_ALL=

とまぁ、UTF-8なので、なるほどメールはJIS形式が普通だし、そりゃバケるよな、、、

ってことで、

* * * * * <コマンド> |nkf -j

cronコマンドの出力をnkfに通してJISに変更するようにしたところ、
全然変わってないじゃ~~ん ヽ(TдT)ノ

いったいどうなってんだと、メールのヘッダーを確認したところ、

Content-Type: text/plain; charset=ANSI_X3.4-1968

なんていう、胡散臭い行が、、、

で、これをどうやって変更するか、色々調査していると、発見!!
crontabで環境設定出来るとのこと、

CONTENT_TYPE=text/plain; iso-2022-jp
* * * * * <コマンド> |nkf -j

下線の行を追加したところ、送られてくるメッセージが無事に日本語になりました。



テーマ:UNIX/Linux - ジャンル:コンピュータ

cronからのお知らせ

ntpサーバとの時刻の同期cronに登録して、定期的にタイムサーバに時刻を確認することを書いたが、実際にやってみると1時間毎にcronの実行結果がメールで送られてくる訳だ、、、

これは鬱陶しいので、特に問題がなければメールが送られてこないようにしてしまえ!!

ってことで、

25 0,12 * * * /usr/sbin/ntpdate ntp.nict.jp 1>null

下線部分を追加して、標準出力はnullデバイスへ送ってしまうように変更(ついでに、実行時間を0時と12時の25分の時のみに変更)

これで、毎回メールが送られてくることはなくなり静かになった。



テーマ:UNIX/Linux - ジャンル:コンピュータ

FC2Ad

上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。