UFSからZFSへの切り替え、ROOTパーティションでの危険な操作

今日、私はZFSへの移行に関する興味深い質問を検討することにしました。

始めるために、対応する実験のために持っているものに慣れてみましょう。4つのSASディスクを備えたSunFire T2000サーバーがあります。



画像





利用可能なドライブを参照します。

 ルート@ T2000#形式
ディスクの検索...完了

利用可能なディスクの選択:
        0. c0t0d0 <SUN72G cyl 14087 alt 2 hd 24 sec 424>メイン
           / pci @ 780 / pci @ 0 / pci @ 9 / scsi @ 0 / sd @ 0,0
        1.c0t1d0 <SUN72G cyl 14087 alt 2 hd 24秒424>
           / pci @ 780 / pci @ 0 / pci @ 9 / scsi @ 0 / sd @ 1.0
        2.c0t2d0 <SUN72G cyl 14087 alt 2 hd 24 sec 424>ファイル名
           / pci @ 780 / pci @ 0 / pci @ 9 / scsi @ 0 / sd @ 2.0
        3.c0t3d0 <SUN72G cyl 14087 alt 2 hd 24秒424>
           / pci @ 780 / pci @ 0 / pci @ 9 / scsi @ 0 / sd @ 3.0 




システムはゼロドライブにインストールされます。



ルート@ T2000#uname -a
 SunOS T2000 5.10 Generic_142909-17 sun4v sparc SUNW、Sun-Fire-T200 




EIS-DVDを使用して、すべてのOracle標準によってパッチが適用されます。

最終的な目標は、zfsミラーがインストールされたZFS上で動作するシステムを取得することです。

ルートファイルシステムを移行するためにハードディスクを準備します。この場合、これらはディスク2と3です。フォーマットユーティリティを使用してこれを行います。



  format>ディスク

利用可能なディスクの選択:
        0. c0t0d0 <SUN72G cyl 14087 alt 2 hd 24 sec 424>メイン
           / pci @ 780 / pci @ 0 / pci @ 9 / scsi @ 0 / sd @ 0,0
        1.c0t1d0 <SUN72G cyl 14087 alt 2 hd 24秒424>
           / pci @ 780 / pci @ 0 / pci @ 9 / scsi @ 0 / sd @ 1.0
        2.c0t2d0 <SUN72G cyl 14087 alt 2 hd 24 sec 424>ファイル名
           / pci @ 780 / pci @ 0 / pci @ 9 / scsi @ 0 / sd @ 2.0
        3.c0t3d0 <SUN72G cyl 14087 alt 2 hd 24秒424>
           / pci @ 780 / pci @ 0 / pci @ 9 / scsi @ 0 / sd @ 3.0
ディスクを指定(番号を入力)[0]:2
 c0t2d0を選択:ファイル名
 [フォーマットされたディスク]
 format> p
パーティション> 0
パーツタグフラグシリンダーサイズブロ​​ック
   0未割り当てwm 0 0(0/0/0)0
パーティションIDタグ[未割り当て]を入力:root
パーティション許可フラグを入力してください[wm]: 
新しい開始cyl [0]を入力: 
パーティションサイズ[28665792b、2817c、2816e、13996.97mb、13.67gb]を入力:7850c
パーティション> p 




サイズが7850である理由を説明します。これにより、将来、既存のルートシステムとそれに関連するセクションからすべての情報を問題なくコピーできるようになります。



  partition>ラベル
ディスクにラベルを付ける準備ができましたか?  y
パーティション>名前
テーブル名を入力します(引用符を忘れないでください):ZFS
パーティション> q
形式>保存
新しいディスクとパーティションの定義を保存する
ファイル名["./ format.dat"]を入力してください: 




ディスクNo. 3についてもまったく同じ操作を実行します。 そして、これら2つのディスクに作成したスライスからプールミラーを作成します。



  root @ T2000#zpool create -f mainpool mirror c0t2d0s0 c0t3d0s0
ルート@ T2000#zpoolリスト
名前サイズALLOC FREE CAP HEALTH ALTROOT
メインプール38G 1.69G 36.3G 4%オンライン- 




次に、ブート環境(BE)を作成します。 これを行うには、必要なキーを使用して起動する特別なコマンドがあります。



 ルート@ T2000#lucreate -c ufsBE -n zfsBE -p mainpool
システム構成の分析。
ソースブート環境<ufsBE>ファイルシステムとファイルの比較 
新しいブート環境に指定したシステム。 決定する 
ファイルシステムは新しいブート環境にある必要があります。
すべてのBEのブート環境記述データベースを更新します。
システム構成ファイルの更新。
デバイス</ dev / dsk / c0t2d0s0>は、ブート環境のルートデバイスではありません。  BE IDを取得できません。
ブート環境<zfsBE>の構成を作成します。
ソースブート環境は<ufsBE>です。
ブート環境<zfsBE>を作成します。
ブート環境<zfsBE>でファイルシステムを作成します。
 <mainpool / ROOT / zfsBE>のゾーン<global>の</>に<zfs>ファイルシステムを作成します。
ブート環境<zfsBE>にファイルシステムを読み込みます。
選択の整合性を確認します。
整合性チェックOK。
マウントポイントの内容を入力</>。
コピーしています。
共有ファイルシステムのマウントポイントの作成。
ブート環境<zfsBE>用の比較データベースの作成。
ファイルシステムの比較データベースの作成</ var>。
ファイルシステム</>の比較データベースを作成しています。
ブート環境<zfsBE>で比較データベースを更新しています。
ブート環境<zfsBE>をブート可能にします。
 /.alt.tmp.b-tDb.mntのboot_archiveの作成
 /.alt.tmp.b-tDb.mnt/platform/sun4v/boot_archiveの更新
ブート環境<zfsBE>の取り込みが成功しました。
ブート環境<zfsBE>の作成に成功しました。 




何をしたかを確認しましょう。



 ルート@ T2000#lustatus
ブート環境はアクティブですアクティブはコピーできます      
再起動時に名前をすぐに削除ステータスを削除    
 -------------------------- -------- ------ ---------- ----- ----------
 ufsBEはいはいはいいいえ-         
 zfsBEはいいいえいいえはい- 




すべてが順調に進んだことを確認したら、新しいzfsBEブート環境をアクティブ化できます。



  root @ T2000#luactivate zfsBE
 Live Upgrade Sync操作は、ブート環境<zfsBE>の起動時に実行されます。


 ************************************************* ** *********************

ターゲットブート環境がアクティブ化されました。 ときに使用されます 
再起動します。 注:再起動、停止、またはuadminコマンドを使用しないでください。 あなた 
再起動するときは、initコマンドまたはshutdownコマンドを使用する必要があります。 もしあなたが 
 initまたはshutdownを使用しないでください。システムは 
ターゲットBE。

 ************************************************* ** *********************

ターゲットBEの起動中に障害が発生した場合、次のプロセス 
現在動作しているブート環境にフォールバックするには、以下に従う必要があります。

 1. PROMモニターに入ります(okプロンプト)。

 2.次のように入力して、ブートデバイスを元のブート環境に戻します。

      setenvブートデバイスディスク:a

 3.次のように入力して、元のブート環境にブートします。

     ブーツ

 ************************************************* ** *********************

ブートアーカイブサービスの変更
ブート環境<zfsBE>のアクティベーションが成功しました。 




このメッセージは、彼らが心配しないで、何かがうまくいかなくても古いソースから起動する機会があると言っていることを教えてくれます。 当然、再起動してみてください。



ルート@ T2000#init 6



そして、起動後、システムが正しい起動を確認します。



 ルート@ T2000#lustatus
ブート環境はアクティブですアクティブはコピーできます      
再起動時に名前をすぐに削除ステータスを削除    
 -------------------------- -------- ------ ---------- ----- ----------
 ufsBEはいいいえいいえはい-         
 zfsBEはいはいはいいいえ- 




ここで、現時点でメインのブート環境がzfsBEであり、私たちが作成したばかりであることがわかります。 これで、ufsBEを安全に削除できます。

その結果、ZFSシステムのすべての機能を問題なく、ダウンタイムを最小限に抑えたシステムを手に入れました。

ご清聴ありがとうございました。



All Articles