[Users] 【急ぎ】バックアップファイルの、分割バックアップについて。
宮崎悟
s.miyaza @ gmail.com
2014年 12月 27日 (土) 14:43:50 JST
みやざきです。
よくわからなかったので、過去メールを見直しました。
>原因
>1.LiveUSBから起動後、バックアップのあるZFSパーティションをマウントできない。さらに、バックアップファイルもマウントできないこと。
この質問は、以前のこの話ですか?
> 質問1
> マニュアルの、「ZFSルートプールを再作成しルートプールのスナップショットを復元する方法」の2.を読み替えて、
>
> #mount /dev/dsk/c2t0d0p1/data /mnt/pkg
>
>としたのですが、マウントできませんでした。何が間違ったのかわかりませんでした。
上記で言っているマニュアルでは、NFSマウント先をマウントする方法です。
/dev/dsk/c2t0d0p1 はデバイスファイルです。Linuxでいうところの/dev/hdaなどと同様です。
ここに、別名でzpoolを作成しているなら、zpool import を行う必要があります。
# zpool import -R /mnt/pkg プール名
> 質問2
>4.の部分のところを次のように読み替えたのですがあっているでしょうか。
>
>#zpool create -f -o failmode=continue -R /a -m legacy -o cachefile=/etc/zfs/zpool.cache rpool c2t0d0p4
>
>c2t0d0p4は、からのパーティションです。
>c2t0d0p1の、バックアップイメージのある方を指定した方がいいでしょうか。
大体あってます。
まず、ファイルとZFSファイルシステムとデバイスの関係を理解しましょう。
Solaris11 では、root パーティションは、ZFSです。df コマンドで以下のように出力されるはずです。
Filesystem 1K-blocks Used Available Use% Mounted on
rpool/ROOT/solaris 153176881 81210525 71966357 54% /
ZFS以外では、上記のrpool/ROOT/solaris の部分がデバイスファイル(/dev/dsk/c2t0d0p4など)になるはずです。
ZFSでは、ストレージプール(上記でいうところのrpool) とデバイスファイルが割り当てられます。
ストレージプールを作成するのが、zpool create コマンドです。ここでプール名とデバイスを指定します。
>#zpool create -f -o failmode=continue -R /a -m legacy -o cachefile=/etc/zfs/zpool.cache rpool c2t0d0p4
上記のコマンドを説明すると、c2t0d0p4 というデバイス(実際には/dev/dsk/c2t0d0p4 が使用されます)を使用して、
rpool という名前のストレージプールを作成します。zpool status でストレージプールがどのデバイスに割り当てられているかを
確認することができます。
以下は自分のマシンの例です。rpoolはミラー化されていて、c12t0d0s0 が割り当てられています。
# zpool status rpool
pool: rpool
state: ONLINE
scan: scrub repaired 10.5M in 10h19m with 0 errors on Mon Oct 20 16:53:41 2014
config:
NAME STATE READ WRITE CKSUM
rpool ONLINE 0 0 0
mirror-0 ONLINE 0 0 0
c12t0d0s0 ONLINE 0 0 0
c12t3d0s0 ONLINE 0 0 0
ちなみに、c12t0d0 以下の、pとsの違いも説明しておきます。
pはパーティションの略です。fdiskなどで切った基本パーティションごとにファイルが作成されます。
fdiskは、intel系のマシンで動くOSならどれも同じだと思いますが、基本パーティションや拡張パーティションで
HDDを区切って使用することができます。Solaris11にもfdiskがあるので、man fdisk してみてください。
s はスライスの略です。パーティションの中を区切って使用します。これはSolaris独自の概念で、
fdiskで切ったパーティションを区切って使用します。スライスはformat コマンドで作成できます。
# format
%~
Searching for disks...done
AVAILABLE DISK SELECTIONS:
0. c12t0d0 <ATA -WDC WD3200BEVT--1A11 cyl 38910 alt 2 hd 255 sec 63>
/pci @ 0,0/pci103c,3118 @ 1f,2/disk @ 0,0
1. c12t1d0 <ATA -ST31500341AS -CC1H cyl 60797 alt 2 hd 255 sec 189>
/pci @ 0,0/pci103c,3118 @ 1f,2/disk @ 1,0
2. c12t2d0 <ATA -ST31500341AS -CC1H cyl 60797 alt 2 hd 255 sec 189>
/pci @ 0,0/pci103c,3118 @ 1f,2/disk @ 2,0
3. c12t3d0 <ATA -ST9320423AS -SDM1 cyl 38910 alt 2 hd 255 sec 63>
/pci @ 0,0/pci103c,3118 @ 1f,2/disk @ 3,0
4. c12t4d0 <ATA-WDC WD30EZRX-00M-0A80-2.73TB>
/pci @ 0,0/pci103c,3118 @ 1f,2/disk @ 4,0
5. c12t5d0 <ATA-WDC WD30EZRX-00M-0A80-2.73TB>
/pci @ 0,0/pci103c,3118 @ 1f,2/disk @ 5,0
Specify disk (enter its number): 0
selecting c12t0d0
[disk formatted]
/dev/dsk/c12t0d0s0 is part of active ZFS pool rpool. Please see zpool(1M).
FORMAT MENU:
disk - select a disk
type - select (define) a disk type
partition - select (define) a partition table
current - describe the current disk
format - format and analyze the disk
fdisk - run the fdisk program
repair - repair a defective sector
label - write label to the disk
analyze - surface analysis
defect - defect list management
backup - search for backup labels
verify - read and display labels
save - save new disk/partition definitions
inquiry - show vendor, product and revision
volname - set 8-character volume name
!<cmd> - execute <cmd>, then return
quit
format> partition
PARTITION MENU:
0 - change `0' partition
1 - change `1' partition
2 - change `2' partition
3 - change `3' partition
4 - change `4' partition
5 - change `5' partition
6 - change `6' partition
7 - change `7' partition
select - select a predefined table
modify - modify a predefined partition table
name - name the current table
print - display the current table
label - write partition map and label to the disk
!<cmd> - execute <cmd>, then return
quit
partition> print
Current partition table (original):
Total disk cylinders available: 38910 + 2 (reserved cylinders)
Part Tag Flag Cylinders Size Blocks
0 unassigned wm 1 - 38909 298.06GB (38909/0/0) 625073085
1 unassigned wm 0 0 (0/0/0) 0
2 backup wu 0 - 38909 298.07GB (38910/0/0) 625089150
3 unassigned wm 0 0 (0/0/0) 0
4 unassigned wm 0 0 (0/0/0) 0
5 unassigned wm 0 0 (0/0/0) 0
6 unassigned wm 0 0 (0/0/0) 0
7 unassigned wm 0 0 (0/0/0) 0
8 boot wu 0 - 0 7.84MB (1/0/0) 16065
9 unassigned wm 0 0 (0/0/0) 0
また、prtvtoc で表示することが可能です。
# prtvtoc /dev/dsk/c12t0d0s0
%~
* /dev/dsk/c12t0d0s0 partition map
*
* Dimensions:
* 512 bytes/sector
* 63 sectors/track
* 255 tracks/cylinder
* 16065 sectors/cylinder
* 38912 cylinders
* 38910 accessible cylinders
*
* Flags:
* 1: unmountable
* 10: read-only
*
* Unallocated space:
* First Sector Last
* Sector Count Sector
* 0 16065 16064
*
* First Sector Last
* Partition Tag Flags Sector Count Sector Mount Directory
0 0 00 16065 625073085 625089149
2 5 01 0 625089150 625089149
8 1 01 0 16065 16064
s2がスライス全体を表すというルールがありますが、s0~s7の8つのスライスを作成できます。
s8 はIntel系だけ作成される特殊な領域だと思ってください。
Solaris11 のLiveUSBで作成した場合は、たいていs0にディスクのすべてが割り当てられて
いるはずです。
HDD全体 /dev/dsk/c0t0d0
パーティション /dev/dsk/c0t0d0p0
さて、話を戻します。以下の点を再度確認させてください。
#メールが1スレッドになっていないので、ちゃんと追いかけるのが大変だったので。
・OSはSolaris11.2 ですか?バージョンによってコマンドが微妙に違うことがあります。
・バックアップしたマシンと、リストアするマシンは同じマシンですか?別のマシンですか?
・fdisk でどのようにパーティションを切っていますか?fdisk で確認できます。
・バックアップ元のrpoolは、どのデバイスに作成されていますか?zpool status で確認できます。
・バックアップしたファイルはどこに置きましたか?
・リストアをどのデバイスに行おうとしていますか?
c2t0d0p4は、c2t0d0というディスクの4番目のパーティションです。
このあたりを整理しましょう。
実際のバックアップの流れですが、以下のような感じになります。
(1) rpooのsnapshot を取る(-r を使用しているはずです)
(2) zfs send で 上記 snapshot をバックアップファイルに保管する。
(3) 保管したバックアップファイルを 別の場所(マシン、メディア)に保管する
ここまではできていると思います。
リストアは以下のような流れです。
(1) LiveUSB/CDなどでブート
(2) バックアップファイルをコピー
上記で出てきた手順2では、NFSマウント使用としています。
(3) rpoolを再作成する(代替rootパスを使用)
(4) バックアップファイルから、rpoolへsnapshotを復元(zfs recieve)
(5) 起動可能なように、rpool の設定や起動ブロックのインストールを行う
バックアップまではうまくいっていると思います。
可能であればバックアップファイルはNFSやscpを使用して、別のマシンに置いたほうがいいと思います。
LiveUSBではネットワーク接続できるので、別のマシンからコピーするのが楽です。
長々と書きましたが、SolarisやZFSに関して正直どういう理解をしていて、
何をしようとしているのかがよく分かりません。
少し整理しませんか?
以上、よろしくお願いします。
--
みやざきさとる(Satoru MIYAZAKI)
s.miyaza @ gmail.com
http://twitter.com/s_miyaza
2014年12月27日 12:14 Inoue Takuma <takumaro @ outlook.com>:
> 大村様 宮崎様
>
> 井上です。
>
> 分割バックアップよりも、ZFSで作った、バックアップファイルを、リストアできないで困っています。
>
> 原因
> 1.LiveUSBから起動後、バックアップのあるZFSパーティションをマウントできない。さらに、バックアップファイルもマウントできないこと。
>
> 2.バックアップ専用のPool用の、パーティションが必要なのか、それともバックアップファイルのある、パーティションを指定すればよいのか。
>
> です。これを解決しないと先に進めません。
>
> ぜひ、ご教授願います。
>
> 補足:分割バックアップは、おなじHDD上に作ったFAT32パーテションをマウントさせそこにバックアップファイルを置こうとしました。
>
> しかし、4GBの壁にぶち当たり、ファイルを置けなくなったということです。
>
> exFATに、Solarisが対応していれば、変更しようかと考えています。
>
> よろしくお願いいたします。
>
> 井上
>
Users メーリングリストの案内