[FreeBSD-users-jp 95479] Re: SSDコピーでハマってます。(西村)

丸山直昌 maruyama at ism.ac.jp
Tue Mar 3 04:30:13 UTC 2015


統計数理研究所の丸山です。

どうも私が出すメールはスパム扱いされてしまって、弾かれてしまいます。昨
日出して、西村さんにだけ届いたメールを、参考までに一応出しておきます。

----------------------------------------------------------------

統計数理研究所の丸山です。

ちょっと考えてみて、また少し実験もしてみました。

>Date: Tue, 24 Feb 2015 22:00:00 +0900
>From: yoshihome <ilovefd at topaz.plala.or.jp>

>#mount /dev/ada0p2 /mnt
>#mount /dev/ada1p2 /tmp/x
>#(cd /mnt;tar cf - [bc,e-v]*) |(cd /tmp/x;tar xvf -)
>としたところ、
>
>tarの実行後に
>tar :Error Exit delayed from previous errors
>と表示されます。

このメッセージは私の実験でも再現できましたが、にもかかわらずコピーは成
功している、と私は結論しました。メッセージが出る原因は/tmp/x の側にあ
る schg flag を持つファイルにあります。そのことは次の実験をしてみると
わかります。

cd /tmp/x; ls -algoR | grep "schg "

とやると多分27行か28行の出力が出ると思います。SSDであれば多分数秒で終
るでしょう。続いて

cd /tmp/x; chflags -R noschg .

とやって、その後

(cd /mnt;tar cf - [bc,e-v]*) |(cd /tmp/x;tar xvf -)

とやってみてください。多分今度は tar :Error Exit delayed from previous errors
のメッセージは出ないと思います。

最後に

cd /tmp/x; ls -algoR | grep "schg "

をもう一度やってみてください。最初と全く同じ出力が出ると思います。SSD
であれば、以上の実験に全部で5分とかからないと思います。

>コピー先のSSD128GBで、立ち上がるのですがXが起動するとメニューバーがど 
>こかにいってしまって表示されません。
>コピーの過程で何か情報が欠落している様です。

コピーは多分完全です。Xの起動で起こる問題は /var/log/Xorg.0.log と
~/.xsession-errors の解析でわかると思います。多分Xのサーバー・クライア
ント間のセキュア通信の問題が何か起っていると思います。私はそういう事強
くないのですが、この ML だったらわかる人がいると思います。

>FreeBSD4.xの時代はこの方法で問題なかったのですが最近のFBSDでは問題がある 
>様です。

そうではないと思います。FreeBSD4.x の時代は tar に弱点が多くて、ルート
パーティションを丸毎コピーする方法としては、 tar は恐くて使えない、と
言うべきでした。でも最近の FreeBSDの tar は意外と大丈夫のようですね。
今回私はいくつか実験してみてそう思うようになりました。しかし、どのOSで
も同じように使える方法、と言う意味なら、やはり dump+restoreでしょうね。

ちなみに man chflags を見ると、

HISTORY
     The chflags command first appeared in 4.4BSD.

となっていて、cd /; ls -algoR |grep "schg " の出力は

FreeBSD 4.7 のファイルシステムでは 0行
FreeBSD 5.5 のファイルシステムでは 2行
FreeBSD 6.4 のファイルシステムでは 26行
FreeBSD 7.4 のファイルシステムでは 28行
FreeBSD 9.1 のファイルシステムでは 24行
FreeBSD 9.2 のファイルシステムでは 29行
FreeBSD 10.1 のファイルシステムでは 27行

だと思います(UDMA のディスクでは時間がかかる!)。

>1)ちなみにtrim設定を外してコピーして見たところ結果は同じでした。

UFS のオプションは一連の現象に無関係でしょう。

>皆さんは、SSDのFBSD10.xシステムディスクの複製はどのようにつくっておられ 
>るのでしょうか?

起動ディスクの複製で重要な事は boot code をどう複製するか、という問題
です。ファイルシステムの複製なら、 dump+restore か tar で、すべての 
UNIX系OSで共通化できますが、 boot code の導入方法はOS毎に異なっている
のが現状です。私は FreeBSD の gpart が一番使いやすく、進んでいるように
思いますが、皆さんの見解は如何でしょうか。

--------
丸山直昌@統計数理研究所


More information about the freebsd-users-jp mailing list