現在、ほとんどの企業は、ITインフラストラクチャとTelcoInfraをプライベートクラウド(OpenStack)に移行しようとしています。 Openstack管理者プロファイルで面接を行うことを計画している場合は、以下の面接の質問のリストが面接をクラックするのに役立つ可能性があります。
Q:1 OpenStackとその主要コンポーネントを定義しますか?
回答:これはオープンソースソフトウェアのバンドルであり、すべてが組み合わさってOpenStackと呼ばれるクラウドソフトウェアを提供します。OpenStackはオープンソースソフトウェアまたはプロジェクトのスタックと呼ばれます。
以下は、OpenStackの主要コンポーネントです
- ノヴァ –コンピューティングレベルで仮想マシンを処理し、コンピューティングまたはハイパーバイザーレベルで他のコンピューティングタスクを実行します。
- 中性子 – VM、コンピューティングノード、およびコントローラーノードにネットワーク機能を提供します。
- キーストーン –すべてのクラウドユーザーとopenstackサービスにIDサービスを提供します。言い換えれば、Keystoneはクラウドユーザーとサービスへのアクセスを提供する方法と言えます。
- 地平線 – GUI(グラフィカルユーザーインターフェイス)を提供し、GUI管理者を使用して日常の運用タスクを簡単に行うことができます。
- 燃えがら –ブロックストレージ機能を提供します。通常、OpenStack CinderはChefおよびScaleIOと統合されており、Compute&Controllerノードにブロックストレージを提供します。
- スウィフト –オブジェクトストレージ機能を提供します。通常、Glance画像はオブジェクトストレージにあります。 ScaleIOのような外部ストレージはオブジェクトストレージとしても機能し、Glanceサービスと簡単に統合できます。
- 一瞥 –クラウドイメージのアップロードとダウンロードに使用されるglance adminを使用して、クラウドイメージサービスを提供します。
- 熱 –オーケストレーションサービスまたは機能を提供します。 Heat adminを使用すると、VMをスタックとして簡単に使用でき、要件に基づいて、スタック内のVMをスケールインおよびスケールアウトできます
- 雲高計 –テレメトリおよび課金サービスを提供します。
Q:2コントローラーノードで一般的に実行されるサービスは何ですか?
回答:次のサービスがコントローラーノードで実行されます:
- IDサービス(KeyStone)
- 画像サービス(一目)
- Nova API、Nova Scheduler、NovaDBなどのNovaサービス
- ブロックおよびオブジェクトサービス
- 雲高計サービス
- MariaDB/MySQLおよびRabbitMQサービス
- ネットワーキング(Neutron)およびネットワーキングエージェントの管理サービス
- オーケストレーションサービス(熱)
Q:3コンピュートノードで一般的に実行されるサービスは何ですか?
回答:次のサービスは計算ノードで実行されます
- Nova-計算
- OVSなどのネットワークサービス
Q:4コンピュートノード上のVMのデフォルトの場所はどこですか?
回答:コンピュートノードのVMは、「 / var / lib / nova / instances」に保存されます。 」
Q:5一目でわかる画像のデフォルトの場所はどこですか?
回答:Glanceサービスはコントローラーノードで実行されるため、すべてのGlance画像は「 / var / lib / glance / images」フォルダーに保存されます。 」をコントローラノードに表示します。
続きを読む: OpenStackのコマンドラインから仮想マシン(VM)を作成および削除する方法
Q:6コマンドラインからVMをスピンする方法をコマンドに教えてください。
回答:次のopenstackコマンドを使用して、新しいVMを簡単にスピンできます
# openstack server create --flavor {flavor-name} --image {Image-Name-Or-Image-ID} --nic net-id={Network-ID} --security-group {Security_Group_ID} –key-name {Keypair-Name} <VM_Name>
Q:7 OpenStackでテナントのネットワーク名前空間を一覧表示するにはどうすればよいですか?
回答:テナントのネットワーク名前空間は、「ipnetns」コマンドを使用して一覧表示できます
~# ip netns list qdhcp-a51635b1-d023-419a-93b5-39de47755d2d haproxy vrouter
Q:8 openstackのネットワーク名前空間内でコマンドを実行するにはどうすればよいですか?
回答:ネットワーク名前空間「qdhcp-a51635b1-d023-419a-93b5-39de47755d2d」内で「ifconfig」コマンドを実行してから、下のコマンドを実行するとします。
構文:ip netns exec {network-space}
~# ip netns exec qdhcp-a51635b1-d023-419a-93b5-39de47755d2d "ifconfig"
Q:9コマンドラインからGlanceでクラウドイメージをアップロードおよびダウンロードするにはどうすればよいですか?
回答:クラウドイメージは、openstackコマンドの下を使用してコマンドから一目でアップロードできます
~# openstack image create --disk-format qcow2 --container-format bare --public --file {Name-Cloud-Image}.qcow2 <Cloud-Image-Name>
以下のopenstackコマンドを使用して、コマンドラインからクラウドイメージをダウンロードします。
~# glance image-download --file <Cloud-Image-Name> --progress <Image-ID>
Q:10OpenStack環境でVMのエラー状態をアクティブにリセットするにはどうすればよいですか?
回答:一部のVMがエラー状態になり、以下のコマンドを使用してこのエラー状態をアクティブ状態に変更できるシナリオがいくつかあります。
~# nova reset-state --active {Instance_id}
Q:11コマンドラインから使用可能なフローティングIPのリストを取得するにはどうすればよいですか?
回答:使用可能なフローティングIPは、以下のコマンドを使用して一覧表示できます
~]# openstack ip floating list | grep None | head -10
Q:12特定のアベイラビリティーゾーンで仮想マシンをプロビジョニングしてホストを計算するにはどうすればよいですか?
回答:compute-02のアベイラビリティーゾーンNonProductionにVMをプロビジョニングするとします。これを実現するには、以下のコマンドを使用します。
~]# openstack server create --flavor m1.tiny --image cirros --nic net-id=e0be93b8-728b-4d4d-a272-7d672b2560a6 --security-group NonProd_SG --key-name linuxtec --availability-zone NonProduction:compute-02 nonprod_testvm
Q:13特定のコンピューティングノードでプロビジョニングされているVMのリストを取得するにはどうすればよいですか?
回答:compute-0-19でプロビジョニングされたvmsを一覧表示したいとします。以下を使用してください
構文:openstack server list –all-projects –long -c Name -c Host | grep -i {Compute-Node-Name}
~# openstack server list --all-projects --long -c Name -c Host | grep -i compute-0-19
Q:14コマンドラインからopenstackインスタンスのコンソールログを表示するにはどうすればよいですか?
回答:インスタンスのコンソールログは、次のコマンドを使用してコマンドラインから表示できます。
最初にインスタンスのIDを取得してから、次のコマンドを使用します。
~# openstack console log show {Instance-id}
Q:15 openstackインスタンスのコンソールURLを取得するにはどうすればよいですか?
回答:インスタンスのコンソールURLは、以下のopenstackコマンドを使用してコマンドラインから取得できます
~# openstack console url show {Instance-id}
Q:16コマンドラインから起動可能なシンダー/ブロックストレージボリュームを作成するにはどうすればよいですか?
回答:起動可能なシンダーまたはブロックストレージボリューム(8 GBを想定)を作成するには、次の手順を参照してください。
- 以下を使用して画像リストを取得
~# openstack image list | grep -i cirros | 89254d46-a54b-4bc8-8e4d-658287c7ee92 | cirros | active |
- Cirrosイメージを使用してサイズ8GBの起動可能なボリュームを作成します
~# cinder create --image-id 89254d46-a54b-4bc8-8e4d-658287c7ee92 --display-name cirros-bootable-vol 8
Q:17 opentstackで作成されたすべてのプロジェクトまたはテナントを一覧表示するにはどうすればよいですか?
回答:プロジェクトまたはテナントのリストは、以下のopenstackコマンドを使用してコマンドから取得できます
~# openstack project list --long
Q:18 openstackサービスのエンドポイントを一覧表示するにはどうすればよいですか?
回答:Openstackサービスエンドポイントは3つのカテゴリに分類されます
- パブリックエンドポイント
- 内部エンドポイント
- 管理エンドポイント
以下のopenstackコマンドを使用して、各openstackサービスのエンドポイントを表示します。
~# openstack catalog list
以下のkeystoneの使用など、特定のサービスのエンドポイントを一覧表示するには、
~# openstack catalog show keystone
続きを読む:OpenStackでのステップバイステップのインスタンス作成フロー
Q:19コントローラーノードでnovaサービスを再起動する順序はどれですか?
回答:openstackコントローラーノードでnovaサービスを再起動するには、次の順序に従う必要があります。
- service nova-api restart
- service nova-cert restart
- service nova-conductor restart
- service nova-consoleauth restart
- service nova-scheduler restart
Q:20データトラフィック用にDPDKポートが計算ノードに構成されていると仮定します。次に、dpdkポートのステータスを確認する方法を教えてください。
回答:DPDKポートはopenvSwitch(OVS)を介して構成されているため、以下のコマンドを使用してステータスを確認してください。
[email protected]:~# ovs-appctl bond/show | grep dpdk active slave mac: 90:38:09:ac:7a:99(dpdk0) slave dpdk0: enabled slave dpdk1: enabled [email protected]:~# [email protected]:~# dpdk-devbind.py --status
Q:21 openstackのコマンドラインから既存のSG(セキュリティグループ)に新しいルールを追加するにはどうすればよいですか?
回答:openstackの既存のSGに新しいルールを追加するには、neutronコマンドを使用します。
~# neutron security-group-rule-create --protocol <tcp or udp> --port-range-min <port-number> --port-range-max <port-number> --direction <ingress or egress> --remote-ip-prefix <IP-address-or-range> Security-Group-Name
Q:22コントローラーノードとコンピュートノードで構成されたOVSブリッジを表示するにはどうすればよいですか?
回答:コントローラーノードとコンピュートノードのOVSブリッジは、以下のコマンドを使用して表示できます
~]# ovs-vsctl show
Q:23コンピュートノードでのIntegration Bridge(br-int)の役割は何ですか?
回答:統合ブリッジ(br-int)は、コンピュートノードで実行されているインスタンスとの間で送受信されるトラフィックに対してVLANタグ付けとタグ付け解除を実行します。
インスタンスのn/wインターフェースを離れるパケットは、仮想インターフェースqvoを使用してLinuxブリッジ(qbr)を通過します。インターフェイスqvbはLinuxブリッジに接続され、インターフェイスqvoは統合ブリッジ(br-int)に接続されます。統合ブリッジのqvoポートには、パケットが統合ブリッジに到達したときにパケットヘッダーに追加される内部VLANタグがあります。
Q:24計算ノードでのトンネルブリッジ(br-tun)の役割は何ですか?
回答:トンネルブリッジ(br-tun)は、OpenFlowルールを使用してVLANタグ付きトラフィックを統合ブリッジからトンネルIDに変換します。
br-tun(トンネルブリッジ)は、異なるネットワーク上のインスタンス間の通信を可能にします。トンネリングは、安全でないネットワーク上を移動するトラフィックをカプセル化するのに役立ちます。br-tunは、GREとVXLANの2つのオーバーレイネットワークをサポートします
Q:25外部OVSブリッジ(br-ex)の役割は何ですか?
回答:名前が示すように、このブリッジはネットワークとの間で送受信されるトラフィックを転送して、インスタンスへの外部アクセスを許可します。 br-exはeth2などの物理インターフェースに接続するため、テナントネットワークのフローティングIPトラフィックは物理ネットワークから受信され、テナントネットワークポートにルーティングされます。
Q:26 OpenStack NetworkingのOpenFlowルールの機能は何ですか?
回答:OpenFlowルールは、パケットが送信元から宛先に到達する方法を定義するメカニズムです。 OpenFlowルールはフローテーブルにあります。フローテーブルはOpenFlowスイッチの一部です。
パケットがスイッチに到着すると、最初のフローテーブルによって処理されます。テーブル内のどのフローエントリとも一致しない場合、パケットはドロップされるか、別のテーブルに転送されます。
Q:27 OpenFlowスイッチに関する情報(ポート、テーブル数、バッファー数など)を表示するにはどうすればよいですか?
回答:OpenFlowスイッチ(br-int)に関する情報を表示したいとし、次のコマンドを実行します。
[[email protected] ~]# ovs-ofctl show br-int OFPT_FEATURES_REPLY (xid=0x2): dpid:0000fe981785c443 n_tables:254, n_buffers:256 capabilities: FLOW_STATS TABLE_STATS PORT_STATS QUEUE_STATS ARP_MATCH_IP actions: output enqueue set_vlan_vid set_vlan_pcp strip_vlan mod_dl_src mod_dl_dst mod_nw_src mod_nw_dst mod_nw_tos mod_tp_src mod_tp_dst 1(patch-tun): addr:3a:c6:4f:bd:3e:3b config: 0 state: 0 speed: 0 Mbps now, 0 Mbps max 2(qvob35d2d65-f3): addr:b2:83:c4:0b:42:3a config: 0 state: 0 current: 10GB-FD COPPER speed: 10000 Mbps now, 0 Mbps max ………………………………………
Q:28スイッチ内のすべてのフローのエントリを表示するにはどうすればよいですか?
回答:スイッチのフローエントリは、コマンド「 ovs-ofctldump-flows」を使用して表示できます。 ‘
OVS統合ブリッジ(br-int)のフローエントリを表示したいとします
[[email protected] ~]# ovs-ofctl dump-flows br-int
Q:29中性子エージェントとは何ですか?すべての中性子エージェントを一覧表示する方法は?
回答:OpenStackneutronサーバーは集中型コントローラーとして機能します。実際のネットワーク構成はコンピューティングノードとネットワークノードのいずれかで実行されます。 Neutronエージェントは、コンピューティングノードまたはネットワークノードで構成の変更を実行するソフトウェアエンティティです。 Neutronエージェントは、NeuronAPIとメッセージキューを介してメインのneutronサービスと通信します。
中性子エージェントは、次のコマンドを使用して一覧表示できます。
~# openstack network agent list -c ‘Agent type’ -c Host -c Alive -c State
Q:30 CPUピン留めとは何ですか?
回答:CPUの固定とは、特定の仮想マシン用に物理コアを予約することです。これは、CPU分離またはプロセッサアフィニティとも呼ばれます。構成は2つの部分に分かれています:
- 仮想マシンが専用コアでのみ実行できるようにします
- また、一般的なホストプロセスがこれらのコアで実行されないようにします
言い換えると、ピン留めは、物理コアからゲストvCPUへの1対1のマッピングであると言えます。