2012年10月28日日曜日
PHP
suPHP
2012年10月20日土曜日
kvm
qemu-img create -f qcow2 vm00.img 20G
qemu-img create -f raw vm00.img 20G
dd if=/dev/zero of=template.img bs=1G count=20
dd if=/dev/zero of=template.img bs=1G count=0 seek=20 (スパース)
ddが実容量必要だけどパフォーマンスがいい
dd>raw>qcow2
起動する
シェルスクリプトにした
(-bootをc dでHDDとCDを切り替え)
#!/bin/sh
qemu-system-x86_64 -hda vm00.img -m 1024 \
-monitor telnet::4444,server,nowait -vnc :0 -daemonize -k ja \
-net nic,model=e1000,macaddr=12:34:56:ab:cd:ef -net tap,ifname=tap0 \
-cdrom /mnt/oscar/iso/slackware64-13.37-install-dvd.iso -boot c -localtime
xmlを作る qemuの引数をこんな感じでテキストに(実際には一行で)
/usr/local/bin/qemu-system-x86_64
-enable-kvm
-m 1024
-hda /root/vm00.img
-cdrom /mnt/oscar/iso/slackware64-13.37-install-dvd.iso
-vnc :0
-net nic,model=e1000,macaddr=12:34:56:ab:cd:ef
-net tap,ifname=tap0
-boot c
-k ja
出力
virsh domxml-from-native qemu-argv vm00.arg > vm00.xml
nameを書き換え 登録
virsh define xmlファイル
SlackBuilds.orgとsbopkg
配布サイトSlackBuilds.orgのデータをsbopkgで使うイメージ。
FreeBSDのportsっぽい。
http://www.sbopkg.org/downloads.phpからパッケージをダウンロード、インストール。
同期 sbopkg -r
検索 sbopkg -s パッケージ
追加 sbopkg -i インストールするパッケージ
slackwareでLVMをRAID1化
元のHDDと同じサイズでパーティションを作る。
IDはfdにして、bootパーティションはaでbootフラグを。
追加HDDをRAID化 (liloの場合はmetadataを旧バージョンにしないといけない)
mdadm --create /dev/md0 --auto=yes --level=raid1 --raid-devices=2 missing /dev/sdb1 \ --metadata=0.90
mdadm --create /dev/md1 --auto=yes --level=raid1 --raid-devices=2 missing /dev/sdb2 \ --metadata=0.90
mount /dev/VG01/root /mnt
echo 'DEVICE /dev/sd[a-z]*' > /mnt/etc/mdadm.conf
mdadm --detail --scan >> /mnt/etc/mdadm.conf
echo 'MAILADDR root' >> /mnt/etc/mdadm.conf
bootは普通のディスクなのでコピー
mkfs.ext4 /dev/md0
mount /dev/md0 /mnt/
cp -av /boot/* /mnt/
LVMはやり方が違う はじめにスナップショット領域を削除
lvremove /dev/VG01/snap
PV作って
pvcreate /dev/md1
既存のVGに追加
vgextend VG01 /dev/md1
内容を移動
pvmove /dev/sda2 /dev/md1
元のPVをVGから削除
vgreduce VG01 /dev/sda2
RAIDが正常動作していないとliloを更新できなかったのでCDでブートしてRAID1化
CDでブート
vgchange -ay VG01
mdadm --add /dev/md0 /dev/sda1
mdadm --add /dev/md1 /dev/sda2
進行具合は
watch cat /proc/mdstats
で見れる。
RAIDにできたらマウントしてchroot
mount /dev/VG01/root /mnt
mount /dev/md0 /mnt/boot
mount --bind /proc /mnt/proc
mount --bind /dev /mnt/dev
chroot /mnt
initrdを作り直す
LVM化したときのものをmd1にして-Rを付ける
mkinitrd -c -m ext4 -f ext4 -h /dev/mapper/VG01-swap -r /dev/mapper/VG01-root -C /dev/md1 -R -L
liloを修正
boot = /dev/md0
raid-extra-boot = /dev/sda,/dev/sdb
liloを更新
lilo
fstabを修正
/dev/sda1 -> /dev/md0
mdadmのRAIDを解除
cat /proc/mdstat
停止
mdadm --misc --stop /dev/md0
mdadm --misc --stop /dev/md1
メタデータ削除
mdadm --misc --zero-superblock /dev/sdb1
mdadm --misc --zero-superblock /dev/sdb2
無理やり開始させる例
mdadm --assemble /dev/md1 /dev/sd[a-b]2
mdadm --assemble /dev/md2 /dev/sd[c-d]1
カーネルのconfig
<*> Generic /dev/rtc emulation
[ ] Extended RTC operation
File systems --->
< > GFS2 file system support
人物
イランのレスリング選手
足痛めてるのにもう一回出てきた魂の人
小林千鶴
Jsportsのフィギュアで実況をしている。
とても柔らかい口調の女性。
藤森美恵子
Jsportsのフィギュアの解説。
slackwareをlvmでインストール
CDでブート
fdiskは
/dev/sda1 83 Linux 1G
/dev/sda2 8e Linux LVM 残り
PVを作る
pvcreate /dev/sda2
VGを作る
vgcreate -s 32m VG01 /dev/sda2
32mってのはPEのサイズ。
1つのLVが持てるPEは最大65536個なので32mで最大2Tになる。 LV(パーティションに近いか)を作る
LVを作る
lvcreate -L 225G -n root VG01
lvcreate -L 2G -n swap VG01
lvcreate -s -L 4G -n snap /dev/VG01/root
このままだとインストーラがswapを見つけられないので
mkswap /dev/mapper/VG01-swap
setupでいつもどおりにインストール。
インストールが終わっても再起動せずに
chroot /mnt
mkinitrd -c -m ext4 -f ext4 -h /dev/mapper/VG01-swap -r /dev/mapper/VG01-root -C /dev/sda2 -L -R
(-hはハイバネーションの設定)
/boot/lilo.confも修正
append = "hogehoge resume=/dev/mapper/VG01-swap"
timeout = 100
initrd = /boot/initrd.gz