RIGHT:[[Sun 関係覚え書き]]

*プールのリスト [#r9ff010f]
 # zpool list

*いらない ZFS ファイルシステムを無くす [#l041a128]
Solaris 10 を ZFS でインストールした場合に
デフォルトで作成されている
/export/home, /export はいらないので消したい.

 # zfs destroy rpool/export/home
 # zfs destroy rpool/export

確認
 # zfs list

*snapshot を作成してバックアップ(1) [#s3c68cdf]
 # zfs snapshot -r rpool@YYMMDD
 # zfs list
 # zfs send -Rv rpool@YYMMDD > /export/Backup/rpool@YYMMDD
 # zfs destroy -R rpool@YYMMDD

*snapshot を作成してバックアップ(2) [#l9874785]
バックアップ用の BE(ブート環境)を作成する.

 # lucreate -n YYYYMMDD
 # lustatus
 # zfs list
 # zfs send -Rv rpoolXXXXXX@YYYYMMDD > /export/Backup/rpoolXXXXX@YYYYMMDD
 # ludelete YYYYMMDD

*snapshot 上のファイルにアクセスする [#be43ff30]
snapshot をとったファイルシステムのトップに ".zfs"という
隠しディレクトリがあるので,
その階層をたどることで snapshot 上のファイルにアクセスできる.

*snapshot を用いてパッチ適用 [#gbd4714a]
1) パッチを適用する ZFS BE(Boot Environment)を作成
 # lucreate -n 20091027BE

2) 新しい BE にパッチを適用
 # luupgrade -t -n 20091027BE -t -s /patchdir patch-id-02 patch-id-04

ex) for Recommended Patch
 # cd /var/tmp/10_Recommended
 # luupgrade -t -s . -n 20091027BE `cat patch_order`

新しい Recommended Patch なら Recommended Patch を展開したディレクトリで
 # ./installcluster --apply-prereq --s10cluster  (LU 自体のパッチをまずあてる)
 # ./installcluster -B 20091027BE --s10cluster
もしくは 20091027BE のファイルシステムを /altBE にマウントして
 # ./installcluster -R /altBE --s10cluster
でいけるかも(未確認)


3) 新しい BE をアクティブにする
 # lustatus
 Boot Environment           Is       Active Active    Can    Copy
 Name                       Complete Now    On Reboot Delete Status
 -------------------------- -------- ------ --------- ------ ----------
 s10s_u7wos_08              yes      yes    yes       no     -
 20091027BE                 yes      no     no        yes    -
 
 # BOOT_MENU_FILE="menu.lst" 
 # export BOOT_MENU_FILE    
 (上の 2行はバグ 6824589 対策.
 これをしないと
  /usr/sbin/luactivate: /etc/lu/DelayUpdate/: 作成できません。
 と怒られる)
 # luactivate 20091027BE
 A Live Upgrade Sync operation will be performed on startup of boot
 environment <20091027BE>.

4) 新しい BE から起動
reboot コマンドを使ってはいけない.
init か shutdown コマンドを使うこと.
 # init 6

5)
もし,起動しなくなったら次の手順でフォールバックすれば,
元の BE で起動できる

5-1)
PROM モニターにする.

5-2)
インストール DVD を使って miniroot になる
 ok> boot cdrom -s

5-3)
元の BE の root スライスを適当なディレクトリにマウントする
 # mount -Fzfs /dev/dsk/c0t0d0s0 /mnt
って,ZFS じゃぁこれができないんだな

 # zpool import -a
 # zfs set mountpoint=/mnt rpool/ROOT/s10s_u7wos_08
 # zfs mount rpool/ROOT/s10s_u7wos_08
 # ...
 # zfs umount rpool/ROOT/s10s_u7wos_08
 # zfs set mountpoint=/ rpool/ROOT/s10s_u7wos_08
 # init 6
将来的には以下でいけるかも
 # zpool import -R /mnt -a
 # zfs list (so you can see your dataset names)
 # zfs mount rpool/ROOT/s10s_u7wos_08
 # ...
 # init 6

5-4)
luactivate 引数なしで実行する.
 # /mnt/sbin/luactivate

5-5)
luactivate が元の BE をアクティブにして結果を表示する.

5-6)
miniroot を抜けて reboot する.

6) いらなくなった BE の削除
 # ludelete s10s_u7wos_08
もしくは
 # ludelete 20091027BE
(いらない方を削除)

**というかやり方としてはこちらでもいいかも [#zb31e260]
N.G. -> luactivate していないので,
Backup 環境からはたちあがらないだろう

1) バックアップ用の BE を作成
 # lucreate -n Backup

2) 現在の BE に Recommended パッチを適用
 # reboot -- -s
 ...
 # install_cluster
 # reboot

3) もし不具合があったなら 新しい BE を一時的にアクティブにする
//インストール DVD でブート
ROM プロンプトで BE のリストを出す
 ok> boot -L 
そうすると,ZFS プール内のブート可能なデータセットのリストが表示
される.
その後,ブート可能なデータセットの 1 つをリストで選択.
そのデータセットを起動するためのコマンドが表示される.
それに従って,選択したデータセットを起動する.
(このオプションは,起動デバイスに ZFS ストレージプールが
含まれている場合にのみ使用できる.)

もしくは
 ok> boot -Z dataset
を使用して,特定の ZFS データセットを起動する.

 ok> boot -L
 Rebooting with command: boot -L
 Boot device: /pci@8,600000/SUNW,qlc@2/fp@0,0/disk@
 w500000e01082bbd1,0:a  File and args: -L
 1 zfs1009BE
 2 zfs509BE
 Select environment to boot: [ 1 - 2 ]: 2
 ok> boot -Z rpool/ROOT/zfs509BE

----
*注意事項 [#be6899c9]
**ファイルスワップ [#z245cffc]
2010/10 の時点で ZFS ではファイルスワップを使用することができません.
("/var/tmp/10gswap" may contain holes - can't swap on it みたいな事を言われる)

http://docs.sun.com/app/docs/doc/819-6260/ggrln?l=ja&a=view

トップ   編集 差分 履歴 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS