yuu_nkjm blog
2011-11-24(Thu) [長年日記] 編集
[KVM][LVM][openSUSE] LVMで管理された論理ボリュームをオンラインで拡張する
KVMの上で動かしているopenSUSEで,LVMで管理されているパーティション(論理ボリューム)をアンマウントすることなく拡張する.
仮想HDDの作成
virt-managerから,開く->詳細->ハードウェアの追加を選択する.Storage -> デバイスの種類:Virtio Diskを選択する.
LVMの操作
新しいHDDに物理ボリュームを作る
yastからパーティション設定を選ぶ.ハードディスク->/dev/vdb1 -> プライマリパーティション -> 最大サイズ -> パーティションをフォーマットしない(Linux LVM)と選ぶ.物理ボリューム/dev/vdb1が生成されている.
ボリュームグループへの物理ボリュームの追加
ボリュームグループへの物理ボリュームの追加がないやん…と思ったら,サイズ変更からできた.ボリューム管理-> サイズ変更から/dev/vdb1を選択して,追加する.
論理ボリュームのサイズ変更
/dev/system/root->サイズ変更を選んで,好きなサイズを選ぶ.サイズを増やすだけの場合のみ,アンマウントしなくても大丈夫なようだ.
以下の様な状態を想定する.
File System: /dev/mapper/system-root mounted on: /
- /dev/mapper/system-rootを/にマウントしたまま,/の容量を増やすことは出来る.
- /dev/mapper/system-rootを/にマウントしたまま,/の容量を減らすことはできない.
関連ページ
-
LVMで管理されるパーティションサイズをオフラインで縮小する - yuu_nkjm blog(2012-01-30)
オフラインだが,サイズの縮小も可能な方法はこちら. - Pantora Networks ≫ 3章 LVM操作 応用編
2011-11-23(Wed) [長年日記] 編集
[sudo][rsync][ssh][backup] rsync + sudo + ssh
お題
- リモートサーバのroot権限がないとアクセス出来ないファイルも含めて,バックアップが取りたい.
- rootでは,リモートサーバにログインできない.一般ユーザでは鍵を使えばログインできる.
…というような状況なので,rsync + sudo + sshをすることを考える.
sudoを使ってリモートのバックアップ対象サーバにおいてrootでrsyncできる様にする
visodo # /etc/sudoersの編集と同義. #Defaults requiretty #ALL ALL=(ALL) ALL #上記,二つをコメントアウト # 追加 bakupuser ALL= NOPASSWD:/usr/bin/rsync
セキュリティを考えるとrsyncを許可するより,コピー先やオプションを書いたrsyncのシェルスクリプトを用意して,それの実行を許可した方が良いかな.
rsyncの実行
su rsync --rsync-path="sudo rsync" -qac hoge@hoge.nkjm.info:/ /mnt/backup/hoge.nkjm.info/
--rsync-pathはリモートで実行するrsyncを具体的に指定するオプション.これによりsudoしてrsyncをすることができる.
aはアーカイブのオプションで,つけとけば間違いない.qは出力を静かにさせる.詳細に振る舞いを確認したいときはvやvvとする.cはチェックサムの確認をする.オプション.
このケースでは,ssh-agentによる認証の転送をしてリモートサーバにログインをした.rsyncで明示的にssh+鍵認証をするなら,-eオプションを使う.
psしてみると,リモート側でrsyncが動いていることが分かる.
2011-11-22(Tue) [長年日記] 編集
[Apache][SSL][openSUSE] openSUSE11.4で認証局と証明書の作成
CAを生成するスクリプトがディストリビューションによって違うみたいなので,メモ.
CA【Certificate Authority】(認証局)の作成
cd /usr/share/ssl/misc/ ./CA.pl -newca CA certificate filename (or enter to create) (enter) Making CA certificate ... Generating a 1024 bit RSA private key ......................++++++ ..++++++ writing new private key to './demoCA/private/cakey.pem' Enter PEM pass phrase: Verifying - Enter PEM pass phrase: ----- You are about to be asked to enter information that will be incorporated into your certificate request. What you are about to enter is what is called a Distinguished Name or a DN. There are quite a few fields but you can leave some blank For some fields there will be a default value, If you enter '.', the field will be left blank. ----- Country Name (2 letter code) [AU]:JP State or Province Name (full name) [Some-State]:Kyoto Locality Name (eg, city) []:Kyoto Organization Name (eg, company) [Internet Widgits Pty Ltd]:Kyoto Organizational Unit Name (eg, section) []:Kyoto Common Name (eg, YOUR name) []:*.nkjm.info Email Address []:root@nkjm.info ..... Write out database with 1 new entries Data Base Updated
Common Nameが大事.ドメイン名と揃える必要がある.このとき*をワイルドカードとして用いることが出来る.
サーバ証明書を作成
openssl req -new -nodes -keyout mailkey.pem -out mailreq.pem -days 36500
証明書への署名
openssl ca -out mail_signed_cert.pem -infiles mailreq.pem Using configuration from /etc/ssl/openssl.cnf Enter pass phrase for ./demoCA/private/cakey.pem: Check that the request matches the signature Signature ok Certificate Details: (snip) Sign the certificate? [y/n]:y failed to update database TXT_DB error number 2
ウェブレン社長 360°ブログ ≫ SSL プライベート認証局の構築によると,「openssl ca ,,,でサーバ証明書の発行、クライアント証明書の発行を行うと、failed to update database TXT_DB error number2 でエラーが発生する場合がある。この場合は、このデータベース($dir/index.txt)を一旦削除し、空のフアイルを作成(#touch $dir/index.txt)し、再実行するとうまくいく」とのこと.
rm demo/index.txt touch demo/index.txt openssl ca -out mail_signed_cert.pem -infiles mailreq.pem Using configuration from /etc/ssl/openssl.cnf Enter pass phrase for ./demoCA/private/cakey.pem: Check that the request matches the signature Signature ok Certificate Details: (snip) Sign the certificate? [y/n]:y 1 out of 1 certificate requests certified, commit? [y/n]y Write out database with 1 new entries Data Base Updated