Longhorn バックアップを使用して Rancher のデータ ボリュームを復元する

0. 序文


Longhorn は、Rancher ストアに付属する分散ブロック ストレージ サービスで、展開と構成が簡単で、美しく使いやすい UI を提供します。
Longhorn のデータ ボリューム バックアップ機能には、s3 や nfs などの外部ストレージが必要です。この記事では、nfs サービスをバックアップ ストレージ サービスとして使用します。

1. NFSのインストール構成


1.1 nfs と rpcbind をインストールする

  • yum を直接ダウンロードしてインストールするための外部ネットワーク環境があります

    yum -y install nfs-utils rpcbind
    
  • 外部ネットワーク環境を使用しないオフライン パッケージのダウンロード インストール

    repotrack nfs-utils
    repotrack rpcbind
    
  • サービスを開始する

    systemctl start nfs && systemctl enable nfs
    systemctl start rpcbind && systemctl enable rpcbind
    

1.2 共有ディレクトリを作成する

  • ディレクトリを作成して権限を割り当てる

    mkdir -p /home/nfs && chmod -R 777 /home/nfs
    

1.3 アクセス権の構成

  • 指定したホストへのアクセスを制限する

    # 单个主机地址
    echo "/home/nfs 192.168.1.101(rw,sync,no_root_squash)" >> /etc/exports
    # 多个主机地址
    echo "/home/nfs 192.168.1.101(rw,sync,no_root_squash) 192.168.1.102(rw)" >> /etc/exports
    
  • ホストの IP 範囲へのアクセスを制限する

    # 192.168.1 网段可以访问
    echo "/home/nfs 192.168.1.*(rw,sync,no_root_squash)" >> /etc/exports
    
  • 無制限のアクセス (安全ではない)

    echo "/home/nfs *(rw)" >> /etc/exports
    
  • 負荷設定

    exportfs -r
    

1.4showmount -e脆弱性スキャンを妨げる制限事項

  • 構成/etc/hosts.allow

    # 此处配置允许挂载及 showmount -e 查看共享目录的主机
    mountd:192.168.1.101
    mountd:192.168.1.102
    rpcbind:192.168.1.101
    rpcbind:192.168.1.102
    
  • 構成/etc/hosts.deny

    # 此处拦截除 allow 中配置的主机以外的所有
    mountd:all
    rpcbind:all
    
  • 構成が成功したことを確認する

    # 从 192.168.1.103 查看,无权访问
    [root@103 ~]# showmount -e 192.168.1.101
    clnt_create: RPC: Port mapper failure - Authentication error
    
    # 从 192.168。1.102 查看,有权访问
    [root@102 ~]# showmount -e 192.168.1.101
    Export list for 192.168.1.101:
    /home/nfs-data 192.168.1.101,192.168.1.102
    

1.5 ファイアウォールの設定

nfs サービスのいくつかのポートはランダムであり、ファイアウォールで指定できないため、構成ファイルを変更して関連するポートを指定する必要があります。

  • /etc/sysconfig/nfs以下をファイルに追加します

    # custom add
    RQUOTAD_PORT=1001
    LOCKD_TCPPORT=32803
    LOCKD_UDPPORT=32769
    MOUNTD_PORT=892
    
  • ファイアウォールルールを構成する

    firewall-cmd --permanent --add-port=111/tcp
    firewall-cmd --permanent --add-port=111/udp
    firewall-cmd --permanent --add-port=2049/tcp
    firewall-cmd --permanent --add-port=2049/udp
    firewall-cmd --permanent --add-port=32803/tcp
    firewall-cmd --permanent --add-port=32803/udp
    firewall-cmd --permanent --add-port=32769/tcp
    firewall-cmd --permanent --add-port=32769/udp
    firewall-cmd --permanent --add-port=1001/tcp
    firewall-cmd --permanent --add-port=1001/udp
    firewall-cmd --permanent --add-port=892/tcp
    firewall-cmd --permanent --add-port=892/udp
    firewall-cmd --reload
    

    より高いセキュリティが必要な場合は、上記のポートがどの IP または IP 範囲向けに開発されているかを指定できます。

2. Longhorn バックアップ構成


2.1 Longhorn UI での設定

クラスター ダッシュボードで、Longhorn管理インターフェイスに移動します。

ここに画像の説明を挿入

【設定】-【一般】を開く

ここに画像の説明を挿入

Backup Targetアイテムを見つけてnfsパスを入力し、ページの下部にある保存ボタンをクリックします。

nfs://192.168.1.101:/home/nfs-data

ここに画像の説明を挿入

3. データボリュームのバックアップおよびリカバリ操作


3.1 サンプル ワークロードの作成

postgres データベース サービスをテスト オブジェクトとして取得します

  • ステートフル ワークロードをデプロイし、PVC データ ボリュームを作成する

ここに画像の説明を挿入

3.2 テストデータの作成

navicat を使用してデータベース サービスに接続し、テスト データを作成します

  • demoデータベースとテーブルを作成しuser、テーブルにテスト データを挿入します。

ここに画像の説明を挿入

3.3 データボリュームのバックアップの作成

Longhorn UI の [ボリューム] メニューで、作成したデータ ボリュームを選択し、メニュー バーの [バックアップの作成] ボタン (バックアップの作成) をクリックし、必要に応じてラベル (ラベル) を追加します。

ここに画像の説明を挿入

作成が完了すると、「バックアップ(Backup)」メニューで今回作成したバックアップ情報が確認できます。

ここに画像の説明を挿入

3.4 データベースデータの削除

Navicat で作成したばかりのデータベースを削除しdemo、データベース サービスを停止します。

ここに画像の説明を挿入

3.5 データボリュームの復元

  • ボリュームリスト内の現在のデータボリュームを削除します

ここに画像の説明を挿入

  • 「バックアップ」リストでバックアップしたばかりのデータボリュームを見つけ、メニューの「復元」をクリックします。

ここに画像の説明を挿入

  • 必要事項を入力し、以前のPVC名を使用する(Use Previous Name)にチェックを入れ、その他は入力不要です

ここに画像の説明を挿入

  • ボリューム (ボリューム) リストを再度開くと、削除したばかりのボリュームが戻ってきており、PVC を再作成する必要があることがわかります。

ここに画像の説明を挿入

デフォルトでは、以前の PVC 名が使用されるため、ワークロードの構成を変更する必要はありません。

ここに画像の説明を挿入

作成が成功したら、データベースサービスを再度起動し、データが復元されたことを確認します。

ここに画像の説明を挿入

おすすめ

転載: blog.csdn.net/qq12547345/article/details/128805801