Help us understand the problem. What is going on with this article?

ZFSでsend/recvについてのメモ

More than 1 year has passed since last update.

概要

CentOS 6でZFS(zfs-fuse)でsend/recvを使ったときのメモ。

メモ

iSCSIのボリューム/dev/mapper/mpathaに既にZFSのプールが作成してあるが、このボリュームサイズを変更したい。暫定的に別のiSCSIボリューム/dev/mapper/mpathbにデータを移行してボリューム拡張後に再度データを戻す。その一部についてのメモ。

ZFSプールtankが既にあるときに別のZFSプールtank2を作成。

# zpool create tank2 /dev/mapper/mpathb

各ZFSプールの利用状況は以下のような感じ。プールサイズはtank > tank2だがデータ量はtank2に充分収まる。このような場合には問題なくスナップショットの転送が可能。

# zpool list
NAME    SIZE  ALLOC   FREE    CAP  DEDUP  HEALTH  ALTROOT
tank   3.41T  1.28T  2.13T    37%  1.86x  ONLINE  -
tank2  1.94T  95.5K  1.94T     0%  1.00x  ONLINE  -

今回はtank/data/以下のデータをtank2に移行させる。tank/pool以下にはゴミしかないので無視。

# zfs list
NAME                USED  AVAIL  REFER  MOUNTPOINT
tank               1.80T  2.07T    23K  /tank
tank/pool          1.13T  2.07T   705G  /zfs
tank/data           686G  2.07T   498G  /tank/data
tank2              73.5K  1.91T    21K  /tank2

ZFS sendするにはスナップショットが作成してある必要がある。スナップショットはスケジュールで毎日作成されているのでとりあえず最新版を利用することにする。

# zfs list -t snapshot -r
NAME                              USED  AVAIL  REFER  MOUNTPOINT
(snip)
tank/data@20180325               21.9M      -   498G  -
# zfs list -o space
NAME               AVAIL   USED  USEDSNAP  USEDDS  USEDREFRESERV  USEDCHILD
tank               2.07T  1.80T         0     23K              0      1.80T
tank/pool          2.07T  1.13T      451G    705G              0          0
tank/data          2.07T   686G      188G    498G              0          0
tank2              1.91T  73.5K         0     21K              0      52.5K

zfs send/recvを利用してスナップショットを転送する。データ量が多いので相当時間がかかる。

# zfs send tank/data@20180325 | zfs recv tank2/data

スナップショット転送後は転送先にもスナップショットが存在している。

# zfs list -t snapshot -r
NAME                              USED  AVAIL  REFER  MOUNTPOINT
(snip)
tank/data@20180325               21.9M      -   498G  -
tank2/data@20180325                  0      -   498G  -

ZFSプールにアクセスしているアプリケーションを停止し、手動でスナップショットを作成して差分を転送する。差分があまりないので短時間で転送が完了する。

# zfs snapshot tank/data@20180325-2

# zfs send -i tank/data@20180325 tank/data@20180325-2 | zfs recv -F tank2/data

スナップショットの差分転送後は転送した差分も反映されている。

# zfs list -t snapshot -r
NAME                              USED  AVAIL  REFER  MOUNTPOINT
(snip)
tank/data@20180325               21.9M      -   498G  -
tank/data@20180325-2                 0      -   499G  -
tank2/data@20180325              22.1M      -   498G  -
tank2/data@20180325-2                0      -   498G  -
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
No comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
ユーザーは見つかりませんでした