資格道場
記事法人
LPI-JapanLevel 5

難易度は Level 1(やさしめ)〜Level 5(難関) の5段階です。

LinuC レベル4 4SA02試験のサンプル問題(本番形式・解説付き)

LinuC レベル4 4SA02試験(LPI-Japan・LinuC-4SA システムアーキテクト(4SA02))の出題形式を、実際の問題で確かめられます。ここに掲載する5問は、無料の会員登録で解ける模試 第1回(40問)の冒頭から抜粋したオリジナル問題です。当サイトは全320問を本番CBT準拠の形式で収録しており、この5問はそのごく一部にあたります。

設問1

仮想ディスクイメージ /var/lib/libvirt/images/app.qcow2 の容量が不足しています。ゲスト内の作業に先立ち、イメージ自体を 50GB 拡大したい。実行するコマンドを1行で入力せよ。

入力形式(コマンドを打ち込んで答える問題です)

qemu-img resize /var/lib/libvirt/images/app.qcow2 +50G(正解)

別解: qemu-img resize /var/lib/libvirt/images/app.qcow2 +50G / qemu-img resize /var/lib/libvirt/images/app.qcow2 +50g / sudo qemu-img resize /var/lib/libvirt/images/app.qcow2 +50G / sudo qemu-img resize /var/lib/libvirt/images/app.qcow2 +50g / /usr/bin/qemu-img resize /var/lib/libvirt/images/app.qcow2 +50G / qemu-img resize /var/lib/libvirt/images/app.qcow2 +50G / qemu-img resize /var/lib/libvirt/images/app.qcow2 +50G / qemu-img resize /var/lib/libvirt/images/app.qcow2 +50G / qemu-img resize "/var/lib/libvirt/images/app.qcow2" +50G / qemu-img resize '/var/lib/libvirt/images/app.qcow2' +50G

解説

仮想ディスクの拡大は、イメージ自体を広げてからゲスト内のパーティション、論理ボリューム、ファイルシステムの順に外側から内側へ進めます。その最初の一手がイメージ自体の拡大で、現在の容量からの差分を記号付きで指定します。(根拠: 学習用テキスト 1-7 既存資産の移行 ── 仮想ディスクのサイズ変更 [5.1])

設問2

仮想マシンの配置を検討するため、ホストの NUMA のノード構成と距離行列を確認したい。実行するコマンドを1行で入力せよ。

入力形式(コマンドを打ち込んで答える問題です)

numactl --hardware(正解)

別解: numactl --hardware / numactl -H / sudo numactl --hardware / sudo numactl -H / /usr/bin/numactl --hardware / /usr/bin/numactl -H / numactl --hardware / numactl --hardware / numactl --hardware / numactl --hardware | less

解説

NUMA の検討では、まずノードの構成と距離行列を確認します。ノードごとのローカルとリモートのヒット数を見る別のコマンドと役割が分かれているため、何を知りたいかで使い分けます。(根拠: 学習用テキスト 1-3 NUMA ── 「量」ではなく「配置」の問題 [5.1])

設問3

仮想マシンの性能改善策を、ホストへ制御が移る回数を減らす手段と、移った先での待ち時間を減らす手段に分けて整理しています。回数を減らす側に当たる手段として、最も適切なものはどれか。

  • vCPU を特定の物理コアへ固定し、キャッシュの局所性を保ったまま実行します。
  • メモリの確保先ノードを固定し、ノードをまたぐアクセスの発生を減らします。
  • デバイスを virtio へ寄せ、要求を積んでからまとめてホストへ通知します。(正解)
  • エミュレータスレッドを別のコアへ移し、vCPU の実行を妨げないようにします。

解説

仮想マシンの性能問題の多くは、ホストへ抜ける回数に還元されます。回数を減らす手段は virtio やパススルーであり、抜けた先の待ち時間を減らす手段であるピニングや NUMA 整合とは別物です。(根拠: 学習用テキスト 1-1 仮想マシンの性能を決める4つの要素 [5.1])

他の選択肢が誤りである理由

  • vCPU を特定の物理コアへ固定し、キャッシュの局所性を保ったまま実行します。抜けた先の待ち時間とばらつきを抑える手段であり、抜ける回数は変わりません。
  • メモリの確保先ノードを固定し、ノードをまたぐアクセスの発生を減らします。アクセス1回あたりの遅さを抑える手段であり、抜ける回数は変わりません。
  • エミュレータスレッドを別のコアへ移し、vCPU の実行を妨げないようにします。I/O 処理の置き場所を変える手段であり、抜ける回数は変わりません。

設問4

1台のホストへ開発用の仮想マシンを集約しており、集約率をさらに上げる案を検討しています。メモリのオーバーコミットのほうが危険とされる理由として、最も適切なものはどれか。

  • 割り当てた時点で物理ページが確保されるため、集約できる仮想マシンの台数が最初から頭打ちになるためです。
  • 破綻しても当該の仮想マシンで steal time が伸びるだけで、原因の特定が遅れるためです。
  • 破綻したあとの劣化がほぼ線形に進み、閾値を越えた時点で自動的に回収されるためです。
  • 破綻するとホストがスワップに落ち、同居している無関係な仮想マシンまで一斉に遅くなるためです。(正解)

解説

メモリは割り当てただけでは物理ページを確保せず、実際に触った分だけ確保されます。破綻するとホストがスワップを始め、ディスク I/O を共有している全ての仮想マシンが巻き添えになり、しかも劣化は閾値を越えた瞬間に一気に進みます。(根拠: 学習用テキスト 1-2 オーバーコミット ── 「足し算が合わない」を意図的に作る [5.1])

他の選択肢が誤りである理由

  • 割り当てた時点で物理ページが確保されるため、集約できる仮想マシンの台数が最初から頭打ちになるためです。割り当てただけでは物理ページは確保されないため、前提が事実と異なります。
  • 破綻しても当該の仮想マシンで steal time が伸びるだけで、原因の特定が遅れるためです。steal time が伸びるのは CPU のオーバーコミットが破綻したときの症状です。
  • 破綻したあとの劣化がほぼ線形に進み、閾値を越えた時点で自動的に回収されるためです。劣化がほぼ線形なのは CPU 側であり、メモリ側は閾値を越えると急激に悪化します。

設問5

多めにメモリを割り当てた仮想マシンが並ぶホストで、ゲストが使っていないメモリをホスト側へ返させたい。用いる仕組みとして、最も適切なものはどれか。

  • virtio-balloon によるメモリバルーニングで、未使用の分を回収します。(正解)
  • vCPU をピン留めし、空いている物理コアをホストへ返させます。
  • メモリの確保先ノードを固定し、割り当て済みのメモリ量を圧縮します。
  • period と quota を設定し、割り当て済みのメモリ量へ上限を掛けます。

解説

メモリのオーバーコミットを支える仕組みには、メモリバルーニング、同一ページを共有する KSM、ホストのスワップがあります。ゲストから未使用の分を回収する役目を担うのがバルーニングです。(根拠: 学習用テキスト 1-2 オーバーコミット ── 「足し算が合わない」を意図的に作る [5.1])

他の選択肢が誤りである理由

  • vCPU をピン留めし、空いている物理コアをホストへ返させます。ピン留めは vCPU の実行先を固定する設定であり、メモリの回収はできません。
  • メモリの確保先ノードを固定し、割り当て済みのメモリ量を圧縮します。確保先ノードの固定は配置を決める設定であり、メモリの回収はできません。
  • period と quota を設定し、割り当て済みのメモリ量へ上限を掛けます。上限は CPU 時間の頭を押さえる設定であり、メモリの回収はできません。

続きは、会員登録なしでそのまま50問解けます。採点と解説つきで、上と同じ本物の問題です。

登録なしで50問解く