Solaris10/zfs - PukiWiki

Solaris10

Solaris ZFS 設定

2008/02/22

スナップショットが, すぐ取れる. ミラーやら結合が自由自在? Solaris ZFS (zettabye file system)

zpool / zfs create

zpool create tank mirror c0d0s7 c0d1s7
zfs create tank/home
zfs set mountpoint=/export/home tank/home
zfs set sharenfs=on tank/home
zfs set compression=on tank/home

※ sharenfs=off では、自前のshareコマンドで管理.

% zpool status
       NAME        STATE     READ WRITE CKSUM
       tank        ONLINE       0     0     0
         mirror    ONLINE       0     0     0
           c0d0s7  ONLINE       0     0     0
           c0d1s7  ONLINE       0     0     0
% zfs list
  NAME        USED  AVAIL  REFER  MOUNTPOINT
  tank       3.95G   184G    18K  /tank
  tank/home  3.43G   184G  3.43G  /export/home
  tank/opt    539M   184G   539M  legacy
% zfs get -r sharenfs tank
  NAME                     PROPERTY  VALUE                    SOURCE
  tank                     sharenfs  off                      default
  tank/home                sharenfs  on                       local
zfs create tank/opt
zfs set mountpoint=legacy
# grep zfs /etc/vfstab
tank/opt        -       /opt    zfs     yes     yes     -

zfs snapshot / zfs send /zfs receive

2010/04/26

スナップショット

  • zfs list
    • ZFSファイルシステムのリスト
  • zfs snapshot rpool/export/home/username@20100425
    • スナップショットを取る.
  • zfs list -t snapshot
    • スナップショットしたファイルシステムのリスト
  • ls /export/home/username/.zfs/snapshot/20100425
    • スナップショットしたファイルシステムの中を見る(タイムマシン).

バックアッップ

  • zfs send rpool/export/home/username@20100425 | zfs receive backup/username
    • backup/username は事前に存在しないファイルシステムであること.
    • パイプ先はsshで別のホストのzfs receiveでも良い.
    • ssh -i someone.conf someone@hostname "zfs receive backup/username"
      someone.confは秘密鍵. hostnameの~someone/.ssh/authorized_keysに公開鍵.
  • zfs send -i rpool/export/home/username@20100425 rpool/export/home/username@20100426 | zfs receive -F backup/username@20100426
    • 次の日との増分のみのバックアップ.
  • zfs destroy rpool/export/home/username@20100425
    • 古いスナップショットを消す.
  • zfs get rpool/export/home/username
    • zfsプロパティも覚えておく.
  • zfs mount
    • 各ファイルシステムのマウントポイントの確認.
  • 昨日の日付入りのファイルシステムを表示
    • zfs list "rpool/export/home/username@`TZ=JST+15 date +'%Y%m%d'`"
  • バックアップスクリプト
    • 毎日バックアップして, 7日前のスナップショットを消す.
      #!/bin/bash
      today_7="`TZ=JST+159 date +'%Y%m%d'`"
      today_6="`TZ=JST+135 date +'%Y%m%d'`"
      today_5="`TZ=JST+111 date +'%Y%m%d'`"
      today_4="`TZ=JST+87 date +'%Y%m%d'`"
      today_3="`TZ=JST+63 date +'%Y%m%d'`"
      today_2="`TZ=JST+39 date +'%Y%m%d'`"
      today_1="`TZ=JST+15 date +'%Y%m%d'`"
      today="`date +'%Y%m%d'`"
      today_7file="rpool/export/home/mathadm@$today_7"
      today_1file="rpool/export/home/mathadm@$today_1"
      todayfile="rpool/export/home/mathadm@$today"
      today_7backup="sas/mathadm@$today_7"
      today_1backup="sas/mathadm@$today_1"
      todaybackup="sas/mathadm@$today"
      /usr/sbin/zfs snapshot $todayfile
      /usr/sbin/zfs send -i $today_1file $todayfile | /usr/sbin/zfs receive -F $todaybackup
      /usr/sbin/zfs destroy $today_7file
      /usr/sbin/zfs destroy $today_7backup

リストア

  • 基本的にはリストアはバックアップと同じ.
    • 必要があればプロパティをzfs setする.
  • zfs set mountpoint=/export/home/username backup/username
    • バックアップのファイルシステムをそのままマウントして使う場合.

参考リンク

Counter: 5104, today: 1, yesterday: 0

トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSSPDF
Last-modified: 2010-04-28 (水) 02:05:24 (3491d)