【Linux試験対策】LPIC-3 306見直しポイント

本稿ではLinux認定試験のLPICで必要とされる知識のうち見直すべきポイントをまとめます。

目次

High Availability Cluster Management

LVSとは

Linux Virtual Serverの略称で,カーネルに組み込まれた負荷分散ソリューション

LVSはカーネルモジュールを利用するか

ip_vsというカーネルモジュールを利用する。

LVSのデーモンとプロセスの関係を説明せよ

lvsdがnannyという子プロセスを生成してリアルサーバと1対1で対応付けられる

この仕組みがカーネルのip_vsモジュールで提供されます。

LVSのデフォルトの接続スケジューリングアルゴリズムは何か

重み付け最小コネクション(wlc)

LVSとkeepalivedを組み合わせる理由は何か

仮想サーバ(ロードバランサ)の信頼性と可用性を高めるため

/etc/keepalived/keepalived.confでVRRPの設定を行うディレクティブ

vrrp_instance EXTERNAL {}

EXTERNALは任意の名前です。

/etc/keepalived/keepalived.confで仮想IPアドレスとリアルサーバのひも付けを行うディレクティブ
virtual_server 10.0.0.1 80 {
    lb_algo rr
    lb_kind NAT
    protocol TCP

    real_server 192.168.1.20 80 {
        TCP_CHECK { connect_timeout 10 }
    }

    real_server 192.168.1.21 80 {
        TCP_CHECK { connect_timeout 10 }
    }
}
/etc/keepalived/keepalived.confのpriorityは大きい方が高いか,小さい方が高いか

大きい方が高い

/etc/keepalived/keepalived.confでMASTERが復帰してもMASTERに戻さない設定を述べよ

vrrp_instance内のnopreempt

/etc/keepalived/keepalived.confのvirtual_serverで接続スケジューリングアルゴリズムを指定する項目

lb_algo・lvs_sched

/etc/keepalived/keepalived.confのvirtual_serverでフォワーディング方式を指定する項目

lb_kind・lvs_method(NAT・DR・TUNを指定可能)

/etc/keepalived/keepalived.confの例を眺めよ
global_defs {
    router_id LVS_DEVEL
}

vrrp_instance VI_1 {
    state MASTER
    interface eth0
    priority 101
    advert_int 1
    nopreempt
    authentication {
        auth_type AH
        auth_pass 1234
    }
    virtual_ipaddress {
        192.168.1.100
    }
}

virtual_server 192.168.1.100 80 {
    delay_loop 6
    lb_algo wrr
    lb_kind NAT
    protocol TCP

    real_server 192.168.1.101 80 {
        weight 1
    }

    real_server 192.168.1.102 80 {
        weight 1
    }
}
keepalivedで死活チェックに利用するハッシュ値をあらかじめ求めておくコマンド

genhash

LVSを管理するためのコマンドは何か

ipvsadm(通常はkeepalivedで自動設定)

複数のサーバ間でリソースやサービスを自動的に切り替えられるクラスタリングソフトウェアは何か

pacemaker

クラスタエンジンとリソースマネージャを説明せよ
  • クラスタエンジン:ノード間の通信や状態制御等を行う(Corosync)
  • リソースマネージャ:リソースの起動・停止・再開等を行う(Pacemaker)

一般的にはこれらをまとめてPacemakerと呼びます。

CIBとは

Cluster Information Baseの略称で,Pacemakerで管理しているクラスタの状態をXMLで記録して管理するデータベースのことを指す

CIBで記録するファイルの場所

/var/lib/pacemaker/cib/cib.xml

OFCとは

Open Cluster Frameworkの略称で,Pacemakerがリソースエージェントを記述するための標準仕様

Pacemakerで実際にクラスタを操作するためのコマンド

pcs

従来はcrmやcrmshが利用されていました。

Pacemakerのリソース制約をまとめよ
  • location(場所の制約)
  • order(順序の制約)
  • colocation(同居の制約)
Quorumを持っているグループのノード数は偶数か,奇数か

奇数

ldirectordとは

Linux Director Daemonの略称で,LVSクラスタにおいてHeartbeatと連携して動作する負荷分散システムの監視および管理ツール。ipvsadmの上位互換のイメージ。

「l」「director」「d」と分解して覚えます。

ldirectordの設定ファイル

/etc/ha.d/ldirectord.cf

keepalivedとldirectordの違いを簡単に説明せよ
  • keepalived:VRRPのイメージ。ロードバランサ自体の冗長化を担当。
  • ldirectord:LVSとの連携のイメージ。負荷分散を担当。
HAProxyとは

各種プロキシを実現できるソフトウェアで,LVSと同様にロードバランサにも利用できる

LVSとHAProxyの違いとは
  • LVS:L4
  • HAProxy:L7
HAProxyの設定ファイル

/etc/haproxy/haproxy.cfg

HAProxyの設定ファイルでX-Forwarded-Forを付加するフィールド

option forwardedfor

LVSのプライマリ・バックアップサーバー間でセッション情報を同期するデーモンを起動

--start-daemon

Corosyncの設定や状態を管理するCLI

corosync-cfgtool

Corosyncで動作中の状態を管理するデータストアを操作するCLI

corosync-cmapctl

Corosyncのquorumを管理するCLI

corosync-quorumtool

pingを行うRA

ocf:pacemaker:ping

リソース使用量の監視を行うRA

ocf:pacemaker:NodeUtilization

クラスタノードの状態やリソースの健全性をチェックするための情報を提供するRA

ocf:pacemaker:ocf:SysInfo

CPUのヘルスチェックを行うRA

ocf:pacemaker:HealthCPU

ハードディスクやストレージデバイスのヘルスチェックを行うRA

ocf:pacemaker:HealthSMART

HAクラスタストレージ

DRBDとは

Distributed Replicated Block Deviceの略称で,ディスクのレプリケーションを提供するツールのことを指す

DRBDはカーネルモジュールを利用するか

drbdというモジュールを利用する

DRBDのプロトコルA・プロトコルB・プロトコルCを説明せよ

プライバリのディスクに書き込まれたデータが…

  • プロトコルA:TCP送信バッファに送られた時点で書き込み完了とする
  • プロトコルB:セカンダリに届いた時点で書き込み完了とする
  • プロトコルC:セカンダリのディスクに書き込まれた時点で書き込み完了とする
DRBDでメタストレージの初期化を行うコマンド

drbdadm create-md r0

クラスタファイルシステムを2つ挙げて違いを説明せよ
  • GFS2:RHELのAdd-Onにより提供され,企業向けの一般的な用途に最適
  • OCFS2:Oracle製品と組み合わせて用いられ,特にOracleデータベースを使用している環境に最適

GFSはGlobal File Systemの略称,OCFSはOracle Cluster File Systemの略称,RHELはRed Hat Enterprise Linuxの略称です。

DLMとは

Distributed Lock Managerの略称で,複数のノードが共有リソースにアクセスする際にデータの生合成を保つツール

cLVMとは

Cluster Logical Volume Managerの略称で,クラスタ内の論理ボリュームを管理するためのツール

SBDとは

Shared Block Deviceの略称で,クラスタ環境で使用されるデバイスのことを指す

フェンシングデバイスを初期化する方法
  • sbd -d /dev/sdc createを実行
  • /etc/sysconfig/sbdにSBD_DEVICE=/dev/sdcを記述
  • systemctl restart sbdの実行
フェンシングデバイスを認識するpacemakerのリソースは何か

stonith

stonithはShoot The Other Node In The Headの略称で,障害が発生したノードを強制的にシャットダウンする仕組みを指す。フェンシングデバイスはその名の通り「フェンシングを行うデバイス」であることから,stonithがリソース名になるのも納得がいきます。

DLMを認識するpacemakerのリソースは何か

controld

クラスタエンジンとリソースマネージャの組み合わせを述べよ
リソースマネージャクラスタエンジン
PacemakerHeartbeat3/Corosync
OpenAISCorosync
PacemakerのCIBとは

Cluster Information Baseの略称で,クラスタの設定と状態をcib.xmlで管理する

PacemakerのCRMdとは

Cluster Resource Management Daemonの略称で,クラスタのリソース管理を行うデーモン

PacemakerのLRMdとは

Local Resource Management Daemonの略称で,ローカルノードにおけるリソース管理を行うデーモン

PacemakerのPEngineとは

Policy Engineの略称で,CIBの情報に基づいて適切な処理を行うエンジン

PacemakerのSTONITHdとは

スプリットブレインを防ぐ目的でフェンシングを提供するデーモン

DCとは

Designated Co-ordinatorの略称で,Pacemakerクラスタ全体の管理役として指定されたノード

リソースエージェントとは

リソースに対する起動・停止・監視を記述したシェルスクリプト

DCのCRMdから呼び出されたLRMdがRAを実行するというフローになっています。

クラスタリングの標準仕様を表すリソースクラス

OCF

フェンシングを表すリソースクラス

STONITH

cib.xmlを操作するcibadminのラッパー
  • crm
  • crmsh

CRMはCluster Resource Managerの略称です。最近ではcrmコマンドは削除されてpcsコマンドが推奨されています。

Pacemakerクラスタに新しいリソースrsc1を追加するコマンド
  • crm configure primitive rsc1
  • pcs resource create rsc1
pcsコマンドは何の略か

Pacemaker/Corosync Configuration System

フェールオーバーを可能にするpcs propertyの設定値

no-quorum-policyにignoreを指定する。quorumが取れなくてもリソースを稼働し続ける必要があるため。

OpenAISとは

高可用性ソフトウェアの仕様で,リソースマネージャのOpenAISとクラスタエンジンのCorosyncに分離した

corosync.confでリソースマネージャを指定するセクション
service {
    name: pacemaker
    ver: 1
}
Software-Defined Storageの一つ

LINSTOR。KubernetesやOpenShiftなどのコンテナ環境に永続的なLinuxブロックストレージを提供する。CephやPacemakerなどのクラスタリングツールと組み合わせて使用される。

LinuxとStorageを合わせた造語と理解しましょう。

DRBDデバイスを作成・管理するコマンド

drbdsetup

DRBDのメタデータを作成・バックアップ・復元するコマンド

drbdmeta

iSCSIのターゲットとイニシエータを説明せよ
  • ターゲット:ストレージの提供側
  • イニシエータ:ストレージの利用側
iSCSIターゲットのCLIおよび設定ファイル

tgtadm・targets.conf

iSCSIイニシエータのCLIおよび設定ファイル

iscsiadm・iscsid.conf

複数の経路によるストレージアクセスの管理を行う技術および設定ファイル

DM-MPIO・/etc/multipath.conf

DM-MPIOは、Device Mapper Multipath I/Oの略称です。

ディスクイメージの中にあるパーティションを仮想デバイスとしてマウントするためのツール

kpartx。パーティションを検出して/dev/mapperを作るイメージ。

おそらくkernel partition extractの略称だと考えられます。

vgchangeでLVMをアクティブ/非アクティブ化することはできるか

できる

Lustreとは

高性能を発揮するクラスタファイルシステム

GFS2ファイルシステムを拡張するコマンド

gfs2_grow

GFS2のメタデータを直接編集するコマンド

gfs2_edit

GFS2に新しいジャーナルを追加するコマンド

gfs2_jadd

OCFS2のクラスタノードの情報などを取得するコマンド

o2info

OCFS2のメタデータをバックアップ・復元するコマンド

o2image

Fibre Channelトポロジを3つ挙げよ
  • Point-to-point
  • Fabric(SANスイッチに繋げるスター型)
  • FC-AL(Arbitrated Loopの略称でループ状に配置)

FC-STARというトポロジはありません。

FC-ALトポロジで接続可能な最大デバイス数

126

Fabricトポロジで接続可能な最大デバイス数

1600万

iSCSIターゲットパラメータ変更に使用するコマンド

iscsiadm modify target-param

iSCSIイニシエータの全ターゲット向けパラメータ変更コマンド

iscsiadm modify initiator-node

クラスタモードでLVMを有効化するコマンド

vgchange -c y

OCFS2のメタデータをイメージファイルから復元するo2imageコマンドのオプション

-I(アイ)

GFS2ファイルシステムをPacemakerで管理する際に注意するべき操作

umount/mountコマンドで再マウントすること。意図しないフェンシングが発生してしまう。pcsコマンドを利用する必要がある。

GFS2ファイルシステムの修復時に自動修復を許可するオプション

fsck.gfs2 -y /dev/testvg/testlv

O2CBクラスタスタックのステータス確認コマンド

service o2cb status

GFS2のwithdraw機能を無効化するマウントオプション

mount /dev/vg01/lvol0 /mygfs2 -o errors=panic

panicにしてしまってデータ不整合の保護(withdraw)を無効化するイメージです。

HA分散ストレージ

GlusterFSとは

Red Hatにより提供されているスケーラブルな分散ストレージ。カーネル空間ではなくユーザ空間で動作するが,FUSE(Filesystem in Userspace)の最適化を行うことで性能が低下しないようになっている。

Cephとは

スケーラブルな分散ストレージ。

  • オブジェクトストレージ(RADOSGW:RADOS Gateway)
  • ブロックストレージ(RBD:RADOS Block Device)
  • ファイルストレージ(Ceph FS:Ceph File System)

の3つの機能を有する。

RADOSはReliable Autonomic Distributed Object Storeの略称です。

OSDとは

Object Storage Daemonの略称で,オブジェクトとしてデータを格納するデーモンのことを指す。オブジェクトをストレージに分散配置する重要な役割を担っている。

OSDはどの単位で作られるか

ディスク・ファイルシステムとセット。このセットに対してOSDがデータを分散配置する。

OSDで用いられるアルゴリズムとは

オブジェクトをストレージに配置する際にCRUSHアルゴリズムが用いられる

CRUSHはControlled Replication Under Scalable Hashingの略称で,ハッシュ関数と事前に定義されたCRUSHマップに基づいてデータを分散配置するアルゴリズム。

Ceph MonitorとCeph Managerの違いとは
  • Ceph Monitor(MON):クラスタメタデータを保持してCephクラスタ全体の一貫性を保証
  • Ceph Manager(MGR):Ceph Monitorをもとにパフォーマンスメトリクス収集やダッシュボードを提供
RADOSを改めて説明せよ

「ディスク・ファイルシステム・OSD」および「Monitor・Manager」 の集まりのこと

Cephのbootstrapを実行したノードに付けられるラベルは何か

_admin

MDSとは

Meta Data Serverの略称で,Cephファイルシステムをマウントする際にメタデータを管理するために必要となるサーバのこと

Cephのプールとは何か

オブジェクトを保存するために使用される論理パーティション

DRBDが含まれているRed Hatのパッケージは何か

Red Hat High Availability Add-On

GFS2が含まれているRed Hatのパッケージは何か

Red Hat Resilient Storage Add-On

GFS2の利用に必要なクラスター管理機能はRHEL High Availability Add-Onによって提供されます。

DRBDでディアルプライマリーモードを有効化する方法

/etc/drbd.confでallow-two-primariesと記述する

DRBDリソースを有効にするコマンド
  • drbdadm attach {リソース名}
  • drbdadm syncer {リソース名}
  • drbdadm connect {リソース名}
cLVMでボリュームグループの一覧を表示するコマンド

vgs

DLM/GFS2/cLVMの関係を整理せよ
  • DLM:ロック管理
  • GFS2:ファイルシステム
  • cLVM:ボリューム管理
O2CBとは

分散システムにおけるトランザクションのコミットを管理するためのプロトコル。OCFS2で利用され,複数のコンポーネント(o2nm・o2hb・o2net・o2dlm・dlmfs)から構成される。クラスタスタックとよばれることもある。

O2CBの設定ファイルを述べよ
  • /etc/ocfs2/cluster.conf:クラスタの配置に関する基本設定(クラスタ内のノード数やクラスタ名など)
  • /etc/sysconfig/o2cb:O2CBクラスタスタックに関する設定(Heartbeat関連やネットワーク関連など)
AFSとは

Andrew File Systemの略称で,セキュリティ機能やキャッシング機能に優れた分散ファイルシステム。現在はOpenAFSとして提供されている。

GlusterFSでサーバをクラスタに追加するコマンド

gluster peer probe node2

GlusterFSでサーバをクタスタから削除するコマンド

gluster peer detach node2

GlusterFSでボリュームを自己修復するコマンド

gluster volume heal vol1

fullを付けるとボリューム上のすべてのファイルで強制的に自己修復を実行します。

GlusterFSでボリュームの自己修復情報の情報を表示するコマンド

gluster volume heal vol1 info

GlusterFSでブリックを追加・削除するサブコマンド
  • gluster volume add-brick
  • gluster volume remove-brick(startというオプションを最後付けて実行)
  • gluster volume remove-brick(commitというオプションを最後付けて実行)
GNFSとは

GlusterFSに組み込まれているNFSサーバ

Cephのプール・Placement group(PG)・OSDの関係をまとめよ

プールは複数のPGを持ち,PGはOSDにデータを分散させる

Cephのストレージバックエンドの方式を二つ答えよ
  • FileStore(ジャーナル領域が必要。古い手法。)
  • BlueStore(WALを利用するためジャーナル領域は不要。新しい手法。)
Cephの初期化で利用するコマンド

ceph-deploy

RBDとは

Rados Block Deviceの略称で,Cephが提供する仮想ブロックデバイスのこと

CephでRBDのimageを作成するコマンド
  • ceph osd pool create rbd_pool(プールの作成)
  • rbd create my_image --size 10240 --pool rbd_pool(imageの作成)
CephでRBDをマウントするコマンド

rbd map my_image --pool rbd_pool

CephFSをマウントするコマンド

mount -t ceph

CephFSボリュームを作成するコマンド

ceph fs volume create cephfsvol

CephFSスナップショットを有効化するコマンド

ceph fs set cephfs01 allow_new_snaps true

現在のCRUSHマップの内容を表示する

ceph osd crush dump

ceph osd crushを塊として覚えてしまいましょう。

Cephクラスタのアップデートの順番

MON→MGR→OSD→MDS

Cephでデーモンの認証鍵を作成するコマンド

ceph-authtool

Cephでストレージバックエンドを操作するコマンド

ceph-bluestore-tool

CRUSHマップの作成を行うコマンド

crushtool

Cephのスケールアップ時に新しいOSDを追加するためのコマンド
  • OSDの作成:ceph-volume lvm create --bluestore --data /dev/sd1
  • OSDのCRUSHマップへの追加:ceph osd crush add {OSDのID} {weight} host={ホスト名}
Cephクラスタの完全性を検証するためのコマンド

ceph scrub

CephのOSDを手動で削除するコマンド
  • ストレージクラスターからOSDを削除:ceph osd out osd.{OSD ID}
  • CRUSHマップからOSDを削除:ceph osd crush remove osd.${OSD_ID}
  • 認証キーを削除:ceph auth del osd.${OSD_ID}
  • 完全に削除:ceph osd rm ${OSD_ID}
GlusterFSでクライアント接続に使用するデフォルトのTCPポート番号

24007

GlusterFSでボリューム拡張時のコマンドシーケンス
  • gluster peer attach <new_node>
  • gluster volume add-brick <VOLNAME> <new_brick>
  • gluster volume rebalance <VOLNAME> start
障害発生時のログ調査で最初に確認すべきファイル

/var/log/glusterfs/glusterd.log

クラスター設定をバックアップする際にコピーすべきディレクトリ

/var/lib/glusterd/

BlueStoreを使用したOSD作成に推奨される管理ツール

ceph-volume

単一ノードHA

/dev/sdaのS.M.A.R.T.の状態を確認するコマンド

smartctl -a /dev/sda

UPSとは

停電などの電力供給が途切れた際にシステムを安全にシャットダウンする仕組み

UPSのデーモン

apcupsd

UPSが正しく機能しているか確認するコマンド

apctest

/etc/smartd.confのオプションで-a/-m/-s/-o/-Wを説明せよ
  • -a:全ての属性を監視
  • -o:オンラインデータの自動収集(onで有効化)
  • -s:定期的なディスクチェック
  • -W:ディスクの温度に関するwarn/criticalのアラートを行う閾値(diff,warn,crit)
  • -m:エラーが発生した場合にメール送信
/dev/sda -a -o on -s (S/../.././02|L/../../6/03) -W 4,45,50 -m admin@example.com
システムのリソースの監視やプロセスの管理を行うツールと設定ファイルのパス

monit・/etc/monitrc

監視したいリソースに「メモリ使用率が80%を超えた場合にアラートする」などを記述するファイル

/etc/monit/monitrc

監視したいリソースに「メモリ使用率が80%を超えた場合にアラートする」などを記述するコマンド

check system myserver if memory usage > 90% then alert

SSDで利用される高速なストレージインタフェースに対応したS.M.A.R.T.ログを取得

nvme smart-log /dev/nvme0

/dev/sd1のS.M.A.R.T.詳細テストを行うコマンド

smartctl -t long /dev/sd1

RAIDデバイスの作成・監視・管理を行うコマンド

mdadm

mdは「multiple devices」と覚えましょう。

RAIDデバイスの現在の状態を確認するためのファイル

/proc/mdstat

RAIDのパラメータ設定やジオメトリに関連する設定を配置するディレクトリ

/proc/sys/dev/raid/

RAID構成のレベルを変更するコマンド

mdadm --grow

LVMのスナップショットを作成するコマンド

lvcreate

LVMボリュームグループから物理ボリュームを削除するコマンド

vgreduce

LVMの設定に関連するパラメータを変更するために編集すべきファイル

/etc/lvm/lvm.conf

LVMで単一の論理ボリュームをRAID構成にするコマンド

lvconvert

シンプールとシックプールを説明せよ
  • シンプール:ボリュームにデータを実際に書き込むまではストレージを割り当てない方式
  • シックプール:指定した容量を最初に全て確保する方式
ボリュームグループと論理ボリュームはどちらを先に作成するか

ボリュームグループ(vg**)→論理グループ(lv**)

ネットワークインタフェースのボンディング方式のbalance-tlbとは

アクティブなインターフェースに負荷を分散させ,受信は1つのインターフェースに集約させる方式

ネットワークインタフェースのボンディング方式のbalance-albとは

送信・受信両方の負荷分散を行う方式

ボンディングをサポートするカーネルモジュール

bonding.ko

ボンディングの状態を監視する仮想ディレクトリ

/sys/class/net/bonding_masters

ボンディングインターフェースにインターフェースを追加・削除するコマンド

ifenslave

Debian系(Ubuntuなど)でネットワークインタフェースの設定を行うファイル

/etc/network/interfaces

Red Hat系(CentOSなど)でネットワークインタフェースの設定を行うファイル

/etc/sysconfig/networking-scripts/ifcfg-*

systemdを用いたネットワーク設定で用いられる拡張子を二つ挙げよ
  • *.network(デバイスにIPアドレス・ゲートウェイ・DNSなどを適用)
  • *.netdev(VLANやトンネルなどの仮想デバイスを作成)
ボンディングインターフェースの監視設定を行う仮想ファイル

/sys/class/net/bond/bonding/miimon*

ボンディングインターフェースに関連付けられたスレーブインターフェースを管理するための情報

/sys/class/net/bond*/bonding/slaves

スレーブインタフェースとは物理的なネットワークインターフェースのことを指します。

ボンディングインターフェースの現在のモードを確認するファイル

/sys/class/net/bond0/bonding/mode

ボンディングインターフェースのスレーブインターフェースを設定するファイル

/sys/class/net/bond0/bonding/slaves

eth0に対するボンディング設定ファイルのパス

/etc/sysconfig/network-scripts/ifcfg-eth0

802.3adモードを有効にするために編集するファイル

/etc/sysconfig/network-scripts/ifcfg-bond0

ボンディングの「miimon」パラメータが示すものは何か

ネットワーク接続の監視間隔

VLANを設定するために使用するインターフェース設定ファイル

/etc/network/interfaces

トラフィックシェーピングの設定ファイル

/etc/network/interfaces

トラフィックシェーピングを設定するためのユーティリティ

tc

monitでプロセス監視を設定する際に使用するディレクティブ

check process

NVMeデバイスの自己診断テストを開始するコマンド

nvme self-test start -n 1 /dev/nvme0

-n 1はshortテスト,-n 2はlongテスト,-n 3はExtendedテストを表します。

障害発生したディスクをRAIDアレイから削除するmdadmコマンドのオプション

--remove

RAID 5アレイにホットスペアディスクを追加するコマンド

mdadm --manage /dev/md0 --add /dev/sdd1

障害復旧後にRAIDアレイを再同期するコマンド

mdadm --manage /dev/md0 --re-add /dev/sdb1

論理ボリュームのサイズを2GB拡張するコマンド

lvextend -L +2G /dev/vg01/lv01

expandではなくextendです。

シンプロビジョニングプールを作成するlvcreateのオプション

--type thin-pool

ストライプ数2で論理ボリュームを作成するlvcreateのオプション

-i 2

ボリュームグループから欠損状態の物理ボリュームを削除するオプション

--removemissing

既存の論理ボリュームにキャッシュプールを追加するコマンド

lvconvert --cache

ボンディングモードの数値を全て説明せよ
  • モード0:balance-rr
  • モード1:active-backup
  • モード2:balance-xor(送信元MACアドレスと宛先MACアドレスに基づいて分散)
  • モード3:broadcast(全てのインタフェースに送信)
  • モード4:802.3ad(LACPに基づくリンクアグリゲーション)
  • モード5:balance-tlb(送信の負荷分散)
  • モード6:balance-alb(送受信の負荷分散)
NetworkManagerでボンディング接続を作成するコマンド

nmcli con add type bond

引っかかりポイント

LVSはフォワーディングとよばれる転送方式はサポートするか

サポートしない。NAT・ダイレクトルーティング・トンネリングの3つでNAT・DR・TUNと覚える。

keepalived.confにおける設定項目はlb_kindでしたね。

pcsのサブコマンドとしてlist/statusのどちらが存在するか

status

「DRBDが対象とするファイルシステムはジャーナリングに対応している必要がある」は正しいか

正しくない。ジャーナルが必要なのはGFS2ファイルシステムのマウント。

「DRBDは上位レイヤのファイルシステムの異常を検知できる」は正しいか

正しくない。透過的に作用すると理解する。

GFS2はカーネルに統合されているか

統合されていない

Pacemakerの設定変更を安全にテストしてプレビューする際に利用するコマンド
  • crm_shadow(本番環境に反映する前にサンドボックスで実行する)
  • crm_simulate(設定内容を確認するためのシミュレーション)
Red Hat Availability Add-OnにCMANは含まれるか

含まれる(RHEL6以前)

Red Hat Availability Add-OnにCorosyncは含まれるか

含まれる(RHEL7以降)

Red Hat Availability Add-OnにDLMは含まれるか

含まれる(RHEL6以前もRHEL7以降も)

Red Hat Availability Add-OnにGlusterFSは含まれるか

追加コンポーネントとして含まれる

Red Hat Availability Add-OnにcLVMは含まれるか

追加コンポーネントとして含まれる

Red Hat Availability Add-OnにLVSは含まれるか

追加コンポーネントとして含まれる

Red Hat Availability Add-Onに含まれる管理ツール
  • RGManager/Conga/ccs/Luci/Ricci(RHEL6以前)
  • Pacemaker/pcs/pcsd(RHEL7以降)
HAProxyのロードバランシングアルゴリズムにforwardは含まれるか

含まれない

HAProxyのロードバランシングアルゴリズムにleastconnは含まれるか

含まれる

HAProxyのロードバランシングアルゴリズムにsourceは含まれるか

含まれる

HAProxyのロードバランシングアルゴリズムにdestinationは含まれるか

含まれない

HAProxyのロードバランシングアルゴリズムにweighted-hashは含まれるか

含まれない

「OCFS2にはO2CBが含まれているため他のソフトウェアを追加せずに使用できる」は正しいか

正しい

「OCFS2はファイルシステム以外にも他のクラスタサービスを扱うことができる」は正しい説明か

正しくない。クラスタサービスの管理にはPacemakerを利用する。

OCFS2とHeartbeatを統合する際にO2CB_HEARTBEAT_MODEに設定する値

user

PacemakerのSTONITHデバイスにSCSIは対応しているか

対応していない

逆に対応しているのはUPS/PDU/IPMIなどですが,ここまで覚えると大変なので「SCSIは対応していない」という引っかけだけ押さえておくようにします。

PacemakerのXMLファイル内に<cluster>と<state>は存在するか

存在しない

PacemakerのXMLファイル内に<nodes>と<services>は存在するか

存在しない

PacemakerのXMLファイル内に<configuration>と<status>は存在するか

存在する

HAProxyの設定項目であるbackend serversではserverとhostのどちらを利用するか

server

「LVSの設定ではバックエンドサーバのMACアドレスが必要」という説明は正しいか

正しくない。IPアドレスを利用する。

vgchangeでLVMにおけるボリュームグループの共有制御を行うオプション

-c(--clustered)

DRBDのために使用可能な低レベルデバイスに物理HDDは含まれるか

含まれる

DRBDのために使用可能な低レベルデバイスにLVM論理ボリュームは含まれるか

含まれる

DRBDのために使用可能な低レベルデバイスに再書き込み可能なCDは含まれるか

含まれない

DRBDのために使用可能な低レベルデバイスに仮想テープライブラリは含まれるか

含まれない

PacemakerでOCFS2のリソースを利用するために共有ストレージは必要か

必要

PacemakerでOCFS2のリソースを利用するためにDLMは必要か

必要

GFS2のリソースを利用するためにcLVMは必要か

必要

OCFS2の利用に際してcLVMは必須か

不要(OCFS2にはクラスタ管理機能であるO2CBが組み込まれているため)

keepalived.confでadvert_intとは

マスタノードがバックアップノードに定期的に送信するアドバタイズメントの間隔。デフォルトは1秒。

CMANとは

Cluster Managerの略称で,クラスタエンジン。後継としてCorocync。リソースエンジンのPacemakerと連携する。

HAProxyで使用可能な負荷分散方式はweighted-roundrobinとleastconnのどちらか

leastconn

HAProxyで使用可能な負荷分散方式にcookie-persistenceは存在するか

存在しない。rdp-cookieが利用される。

Pacemakerに同梱されているSTONITHプラグイン
  • apcmaster
  • external/xen0
  • ibmhmc
  • ssh

とにかくscsiが梱包されていない点が引っかけです。

Red Hat Enterprise Linux High Availability Add-Onに含まれるソフトウェアコンポーネント
  • Pacemaker
  • LVM
  • cLVM
  • LVS

もちろんLXCは含まれません。GlusterFSも含まれません。

「高可用クラスタは複数のクラスタに処理を割り振り負荷分散をする」は正しいか

正しくない。負荷分散を行うのはロードバランスクラスタ。

Pacemakerで結果を確認するのはcrm_emulateとcrm_simulateのどちらか

crm_simulate

負荷分散装置自体にミラーリング等の複製機能はあるか

ない

負荷分散装置自体にダイナミックルーティングなどのルーティング機能はあるか

ない

Heartbeatの一部としてサービスの死活監視機能をLVSに提供するソフトウェア

ldirectord。keepalivedと混同しないように。

HAProxyで重み付けの動的な変更が可能な設定

roundrobin。weightedと付く設定値がないことに注意してください。

送信元IPアドレスのハッシュ値に基づいてリクエストを転送する設定
  • LVS(ipvsadm):sh(source hashing)
  • HAProxy:source
keepalived/haproxy/ldirectordの設定ファイル
  • /etc/keepalived/keepalived.conf
  • /etc/haproxy/haproxy.cfg
  • /etc/ha.d/ldirectord.cf

拡張子はconf→cfg→cfと一文字減のイメージで覚えてしまいましょう。

keepalived.confで実サーバの監視間隔を指定する設定項目
  • virtual_server:delay_loop
  • vrrp_instance:advert_int
keepalived.confでVRRPの設定を行うセクション

vrrp_instance。vrrp_serverのようにvirtual_serverと混同しないように注意してください。

ipvsadmでサーバを追加するオプション

ipvsadm {-a|--add-server} [-t|-u] <仮想サービスアドレス> -r <リアルサーバ>

-Aにするとサービスの追加になってしまいます。また-t/-uがそれぞれ仮想サービスに対するTCP/UDPを規定していて,-rがリアルサーバを指定しているという違いも理解しましょう。

/etc/haproxy/haproxy.cfgで負荷分散の方式を指定する項目

balance

/etc/ha.d/ldirectord.cfで負荷分散の方式を指定する項目

scheduler

keepalivedの死活監視チェックモジュールを列挙せよ
  • HTTP_GET
  • SSL_GET
  • TCP_CHECK
  • SMTP_CHECK
  • DNS_CHECK
  • MISC_CHECK

GETはHTTP/SSLだけである点,およびCHECKはTCP/SMTP/DNS/MISCとHTTP/SSLがない点がポイントです。

ipvsadmの-eと-Eの違い
  • -e:実サーバを編集
  • -E:仮想サービスを編集

小文字は実サーバ,大文字は仮想サービスである感覚が非常に大切です。これはdeleteでも同様ですが,-dが実サーバの削除で-Dが仮想サービスの削除です。また-Cが仮想サービスのテーブルの削除です。

ipvsadmでパケット転送方式にトンネリングを使用するオプション

-i(--ipip)

-tや--tunnelingと引っかからないように。ダイレクトルーティングは-g(--gatewaying)になります。

OCFS2の利用に際してcLVMは必須か

必須でない

GlusterFSの特徴

FUSE(FileSystem in Userspace)を採用しているため導入が容易

ipvsadmでUDPの仮想サービスを追加するオプション

-u(--udp-service)

--udpだけでない点に注意してください。

fence_apcでsshを使用するためのオプション

-x(--ssh)

vgsの#SNとは

スナップショットの数

「RHEL6以前のAdd-OnでRGManagerはクラスタ管理を行う」は正しいか

正しくない。リソース管理を行う。クラスタ管理を行うのはCMAN。

Red Hat High Availability Add-Onのまとめ

機能RHEL7〜〜RHEL6
クラスタ管理CorosyncCMAN
ロック制御DLMDLM
リソース管理PacemakerRGManager
管理ツールpcs(CUI)
pcsd(GUI)
ccs(CUI)
Conga(GUI)
Luci(CongaのベースUI)
Ricci(Luciからの指示に基づいて処理を行うデーモン)
シェアはこちらからお願いします!

コメント

コメントする

※ Please enter your comments in Japanese to distinguish from spam.

目次