6.3. In-service Software Update from Red Hat Gluster Storage
重要
Red Hat Enterprise Linux 7 ベースの Red Hat Gluster Storage では、3.1 以上に更新するとファイアウォールのルールが再度読み込まれます。リロード前のランタイムのみの変更はすべて失われます。
重要
SMB サービスおよび xmvn サービスは、サービス内の更新をサポートしません。本セクションで説明している手順では、SMB サービスおよび Hadoop サービスへのサービス中断があります。
更新する前に、以下に注意してください。
- クライアントを更新する前に、すべての Red Hat Gluster Storage サーバーに対して完全な更新を行います。
- geo レプリケーションが使用されている場合は、マスターノードを更新する前に、すべてのスレーブノードに対して完全な更新を実行します。
disperse.optimistic-change-logおよびdisperse.eager-lockオプションがoffに設定されている場合に限り、イレイジャーコード化されたボリューム(disperspersed)ボリュームを更新できます。これらのオプションを無効にしてから 2 分間待機してからアップグレードを試行し、これらの設定の変更が I/O 操作で有効になるようにします。- Samba を更新する場合は、同じクラスターで異なるバージョンの Samba を実行する場合、データが破損するため、Samba がすべてのノードで同時にアップグレードされていることを確認します。
- 更新を受け取るには、システムを Red Hat Network に登録しておく必要があります。詳細はを参照してください。 「Red Hat Gluster Storage Server チャンネルのサブスクライブ」
- クラスターが更新されている間は、ボリュームの操作は実行しないでください。
サービスモードでの Red Hat Gluster Storage 3.4 の更新
- 「アップデート前の注意事項」 の説明に従って、作業用のバックアップがあることを確認します。
- 複製された設定がある場合は、レプリカセットのすべてのノードで以下の手順を実行します。分散複製設定がある場合は、すべてのレプリカセットに対して、レプリカセットに対してこれらのステップを一度に実行します。
- Geo レプリケーションセッションを停止します。
gluster volume geo-replication MASTER_VOL SLAVE_HOST::SLAVE_VOL stop
# gluster volume geo-replication MASTER_VOL SLAVE_HOST::SLAVE_VOL stopCopy to Clipboard Copied! Toggle word wrap Toggle overflow - このノードが NFS-Ganehsa クラスターの一部である場合は、ノードをスタンバイモードにします。
pcs cluster standby
# pcs cluster standbyCopy to Clipboard Copied! Toggle word wrap Toggle overflow - 保留中の自己修復がないことを確認します。
gluster volume heal volname info
# gluster volume heal volname infoCopy to Clipboard Copied! Toggle word wrap Toggle overflow 自己修復操作が完了するのを待機してから続行します。 - このノードが NFS-Ganesha クラスターの一部である場合は、以下を実行します。
- PCS クラスターを無効にして、これが停止していることを確認します。
pcs cluster disable pcs status
# pcs cluster disable # pcs statusCopy to Clipboard Copied! Toggle word wrap Toggle overflow - nfs-ganesha サービスを停止します。
systemctl stop nfs-ganesha
# systemctl stop nfs-ganeshaCopy to Clipboard Copied! Toggle word wrap Toggle overflow
- イレイジャーコード(disperspersed)ボリュームを更新する必要がある場合は、
disperse.optimistic-change-logおよびdisperse.eager-lockオプションをoffに設定します。これらのオプションを無効にしてから 2 分間待機してからアップグレードを試行し、これらの設定の変更が I/O 操作で有効になるようにします。gluster volume set volname disperse.optimistic-change-log off gluster volume set volname disperse.eager-lock off
# gluster volume set volname disperse.optimistic-change-log off # gluster volume set volname disperse.eager-lock offCopy to Clipboard Copied! Toggle word wrap Toggle overflow - 以下のコマンドを使用して、ストレージサーバー上の gluster サービスを停止します。Red Hat Enterprise Linux 7 の場合:
systemctl stop glusterd pkill glusterfs pkill glusterfsd
# systemctl stop glusterd # pkill glusterfs # pkill glusterfsdCopy to Clipboard Copied! Toggle word wrap Toggle overflow Red Hat Enterprise Linux 6 の場合:service glusterd stop pkill glusterfs pkill glusterfsd
# service glusterd stop # pkill glusterfs # pkill glusterfsdCopy to Clipboard Copied! Toggle word wrap Toggle overflow - Samba を使用する場合:
- 必要なリポジトリーを有効にします。Red Hat Enterprise Linux 6.7 以降の場合:
subscription-manager repos --enable=rh-gluster-3-samba-for-rhel-6-server-rpms
# subscription-manager repos --enable=rh-gluster-3-samba-for-rhel-6-server-rpmsCopy to Clipboard Copied! Toggle word wrap Toggle overflow Red Hat Enterprise Linux 7 の場合:subscription-manager repos --enable=rh-gluster-3-samba-for-rhel-7-server-rpms
# subscription-manager repos --enable=rh-gluster-3-samba-for-rhel-7-server-rpmsCopy to Clipboard Copied! Toggle word wrap Toggle overflow - 以下のコマンドを使用して、Samba クラスターのすべてのノード全体でpid および SMB サービスを停止します。また、CtrlC サービスを停止すると、SMB サービスも停止します。Red Hat Enterprise Linux 7 の場合:
systemctl stop ctdb systemctl disable ctdb
# systemctl stop ctdb # systemctl disable ctdbCopy to Clipboard Copied! Toggle word wrap Toggle overflow Red Hat Enterprise Linux 6 の場合:service ctdb stop chkconfig ctdb off
# service ctdb stop # chkconfig ctdb offCopy to Clipboard Copied! Toggle word wrap Toggle overflow これにより、すべての Samba ノードが更新されるまで、異なるバージョンの Samba が同じ Samba クラスターで実行されないようにします。 - 以下のコマンドを実行して、CtrlC サービスおよび SMB サービスが停止していることを確認します。
ps axf | grep -E '(ctdb|smb|winbind|nmb)[d]'
ps axf | grep -E '(ctdb|smb|winbind|nmb)[d]'Copy to Clipboard Copied! Toggle word wrap Toggle overflow
- 以下のコマンドを使用してサーバーを更新します。
yum update
# yum updateCopy to Clipboard Copied! Toggle word wrap Toggle overflow 更新しているパッケージを書き留めて、更新が完了するまで待ちます。 - 直前の手順で更新プロセスの一部としてカーネルアップデートが含まれている場合は、サーバーを再起動します。
- サーバーの再起動が必要ない場合は、以下のコマンドを使用してストレージサーバーで gluster サービスを起動します。Red Hat Enterprise Linux 7 の場合:
systemctl start glusterd
# systemctl start glusterdCopy to Clipboard Copied! Toggle word wrap Toggle overflow Red Hat Enterprise Linux 6 の場合:service glusterd start
# service glusterd startCopy to Clipboard Copied! Toggle word wrap Toggle overflow - Red Hat Gluster Storage サーバーの最新バージョンに更新されていることを確認します。
gluster --version
# gluster --versionCopy to Clipboard Copied! Toggle word wrap Toggle overflow 出力と、「サポート対象の Red Hat Gluster Storage バージョン」 で必要なバージョンを比較します。 - すべてのブリックがオンラインであることを確認します。ステータスを確認するには、以下のコマンドを実行します。
gluster volume status
# gluster volume statusCopy to Clipboard Copied! Toggle word wrap Toggle overflow - ボリュームで自己修復を開始します。
gluster volume heal volname
# gluster volume heal volnameCopy to Clipboard Copied! Toggle word wrap Toggle overflow - 以下のコマンドを使用して、レプリカで自己修復が完了していることを確認します。
gluster volume heal volname info
# gluster volume heal volname infoCopy to Clipboard Copied! Toggle word wrap Toggle overflow - 共有ストレージがマウントされていることを確認します。
mount | grep /run/gluster/shared_storage
# mount | grep /run/gluster/shared_storageCopy to Clipboard Copied! Toggle word wrap Toggle overflow
- ボリューム内の全ノードを更新したら、以下のコマンドを実行してクラスターの
op-versionを更新します。これにより、クラスター内の互換性の問題を防ぐことができます。gluster volume set all cluster.op-version 31306
# gluster volume set all cluster.op-version 31306Copy to Clipboard Copied! Toggle word wrap Toggle overflow 注記31306は、Red Hat Gluster Storage 3.4 Async Update のcluster.op-versionの値に使用されます。他のバージョンの正しいcluster.op-version値については、「サポート対象の Red Hat Gluster Storage バージョン」 を参照してください。 - Samba を使用する場合:
- 以下のコマンドを実行して、getfacl を起動する前に
/gluster/lockをマウントします。mount -a
# mount -aCopy to Clipboard Copied! Toggle word wrap Toggle overflow - SMB でアクセスしたボリュームをホストするすべてのサーバーが更新されている場合は、以下のコマンドを実行して、Samba サービスおよび Samba サービスを開始して再度有効にします。Red Hat Enterprise Linux 7 の場合:
systemctl start ctdb systemctl enable ctdb
# systemctl start ctdb # systemctl enable ctdbCopy to Clipboard Copied! Toggle word wrap Toggle overflow Red Hat Enterprise Linux 6 の場合:service ctdb start chkconfig ctdb on
# service ctdb start # chkconfig ctdb onCopy to Clipboard Copied! Toggle word wrap Toggle overflow - CTDB サービスおよび SMB サービスが起動していることを確認するには、以下のコマンドを実行します。
ps axf | grep -E '(ctdb|smb|winbind|nmb)[d]'
ps axf | grep -E '(ctdb|smb|winbind|nmb)[d]'Copy to Clipboard Copied! Toggle word wrap Toggle overflow
- このアップグレード前にメタボリュームを設定しており、アップグレードプロセスの一部として再起動しない場合は、メタボリュームをマウントします。
mount /var/run/gluster/shared_storage/
# mount /var/run/gluster/shared_storage/Copy to Clipboard Copied! Toggle word wrap Toggle overflow このコマンドが機能しない場合は、/etc/fstabの内容を確認して、共有ストレージのエントリーが正しく設定されていることを確認して、mount コマンドを再実行します。/etc/fstabファイルのメタボリュームの行は以下のようになります。hostname:/gluster_shared_storage /var/run/gluster/shared_storage/ glusterfs defaults 0 0
hostname:/gluster_shared_storage /var/run/gluster/shared_storage/ glusterfs defaults 0 0Copy to Clipboard Copied! Toggle word wrap Toggle overflow - このノードが NFS-Ganesha クラスターの一部である場合は、以下を実行します。
- SELinux を使用している場合は、
ganesha_use_fusefsブール値をonに設定します。setsebool -P ganesha_use_fusefs on
# setsebool -P ganesha_use_fusefs onCopy to Clipboard Copied! Toggle word wrap Toggle overflow - nfs-ganesha サービスを起動します。
systemctl start nfs-ganesha
# systemctl start nfs-ganeshaCopy to Clipboard Copied! Toggle word wrap Toggle overflow - クラスターを有効にし、起動します。
pcs cluster enable pcs cluster start
# pcs cluster enable # pcs cluster startCopy to Clipboard Copied! Toggle word wrap Toggle overflow - ノードをスタンバイモードからリリースします。
pcs cluster unstandby
# pcs cluster unstandbyCopy to Clipboard Copied! Toggle word wrap Toggle overflow - PCS クラスターが実行中で、ボリュームが正しくエクスポートされていることを確認します。
pcs status showmount -e
# pcs status # showmount -eCopy to Clipboard Copied! Toggle word wrap Toggle overflow 上記の手順を実施した後、NFS-ganesha は短い猶予期間に入ります。I/O 操作はこの猶予期間に停止します。ganesha.logファイルにNFS Server Now NOT IN GRACEが表示されるのを確認してから続行します。
- geo レプリケーションを使用する場合は、アップグレードが完了したら geo レプリケーションセッションを再起動します。
gluster volume geo-replication MASTER_VOL SLAVE_HOST::SLAVE_VOL start
# gluster volume geo-replication MASTER_VOL SLAVE_HOST::SLAVE_VOL startCopy to Clipboard Copied! Toggle word wrap Toggle overflow 注記BZ#1347625 では、状況によってはforceパラメーターを使用して正常に再起動する必要がある場合があります。gluster volume geo-replication MASTER_VOL SLAVE_HOST::SLAVE_VOL start force
# gluster volume geo-replication MASTER_VOL SLAVE_HOST::SLAVE_VOL start forceCopy to Clipboard Copied! Toggle word wrap Toggle overflow - イレイジャーコーディングされた(dispersed)ボリュームを更新するために
disperse.optimistic-change-logオプションおよびdisperse.eager-lockオプションを無効にしている場合は、これらの設定を再度有効にします。gluster volume set volname disperse.optimistic-change-log on gluster volume set volname disperse.eager-lock on
# gluster volume set volname disperse.optimistic-change-log on # gluster volume set volname disperse.eager-lock onCopy to Clipboard Copied! Toggle word wrap Toggle overflow
注記
NFS-Ganesha のインサービスアップグレードを実行すると、新しい設定ファイルは
/etc/ganesha フォルダーにganesha.conf.rpmnewという名前で保存されます。古い設定ファイルは、インサービスアップグレードプロセス時に上書きされません。ただし、アップグレード後、ganesha.conf.rpmnewから、/etc/ganeshaフォルダーにある既存のganesha.confファイルに、新しい設定変更を手動でコピーする必要があります。
注記
Web 管理環境を更新する場合には、必要な手順の実行後に、Red Hat Gluster Storage Web Administration 3.4.x から 3.4.y セクションに移動し、Web Administration Server および Red Hat Gluster Storage Servers(Part II)で 識別されるステップを実行して、Red Hat Gluster Storage および Web Administration の更新プロセスを完了します。