コンテナを止めるな! PacemakerによるコンテナHAクラスタリングとKubernetesとの違いとはksk_ha
48-146407 kvmなどの仮想化環境において、ゲストOSのネットワークやディスクI/Oを早くするために、virtioと呼ばれる準仮想化ドライバドライバを用いることがある。 今回は、あまり技術的に細かい部分には突っ込まず、なぜゲストOSのI/Oが遅いのか、なぜvirtioを用いると速くなるのか簡単に整理してみた。 virtio(vhost)の反映の仕方(virt-manager) virtio-net(vhost-net)の場合 virt-managerを開いてvirtioを反映させたいVMをを開く。VMのコンソールのメニューで[表示]→[詳細]を選択し、NICのデバイスモデルをvirtioにし、適用を押せばよい。この時、すでにVMが起動している場合、一度シャットダウンしてからでないと反映されない。 システムのバージョンに依存すると思われるが、virtioを適用していても実際にはvho
# brctl addbr br0 ........ bridge br0 # brctl addif br0 eth0 ... br0 eth0 # brctl addif br0 eth1 ... br0 eth1 # ovs-vsctl add-br ovs0 ... bridge ovs0 # ovs-vsctl add-port ovs0 eth0 ... ovs0 eth0 # ovs-vsctl add-port ovs0 eth1 ... ovs0 eth1 struct ifreq ifr; int fd; fd = open(“/dev/net/tun”, O_RDWR); ifr.ifr_flags = IFF_TAP | IFF_NO_PI; strncpy(ifr.ifr_name, "vnet%d", IFNAMSIZ); ioctl(fd, TUNSETIFF
我が家では自宅で使用するサーバや、検証のための環境をKVMを使用して作っています。 しかし、今までは仮想マシンを操作するために、ハイパーバイザにログインしてコマンドを打たなければ行けない状況で若干面倒でした。 そこで、Webからそれらの操作を行えるものを探していたのですが、WebVirtMgrが使いやすくていいのではないかと思い、インストールしてみました。 環境 OS: CentOS 7.1 (virtによるKVM環境構築済み) ※ KVM環境に関しては CentOS7上にKVM環境を構築する(CUI環境) を参照 セットアップ手順 Install WebVirtMgrを参照してインストールしてみます。 動作に必要なアプリケーションをインストール $ sudo yum -y install http://dl.fedoraproject.org/pub/epel/7/x86_64/e/ep
dockerでKVM動かし、Proxmox4を動かす (ianblenke/kvm) - Qiitaよりもイメージサイズが小さい。 展開時 251.7 MB ubuntu 16.04 ベース issue上げたら対応が早かった。 参考 ennweb/docker-kvm: QEMU/KVM docker image startup.sh docker-kvm/Dockerfile win10の例 kvm: image: ennweb/kvm container_name: kvm privileged: true volumes: - .:/data/ environment: - VNC=tcp - RAM=1024 - SMP=1 - IMAGE=/data/20gb.qcow2 #- IMAGE_CREATE=1 - ISO_DOWNLOAD=0 - ISO=/data/Win10_1
第441回ではQEMU/KVMでUEFIファームウェアを利用する方法を、第444回ではUEFIのセキュアブート機能について紹介しました。そこで今回は、QEMU/KVMでセキュアブートを利用する方法を紹介します。 「あなたの鍵はどこから?」 第444回でも解説したように、セキュアブートでは少なくとも次の3つの鍵が必要になります。 Platform Key(PK):プラットフォーム(マシン)のオーナーの鍵 Key Exchange Key(KEK):db変数を変更するための鍵 db変数に保存する鍵:UEFIバイナリを検証するための鍵 そして一般的に市販されているPCであれば、これらの鍵は次のような関係にあります。 Platform Key(PK):PCベンダーの公開鍵証明書 Key Exchange Key(KEK):PCベンダーとOSベンダー(WindowsならMicroso
UEFI(Unified Extensible Firmware Interface)はOSとファームウェアの間の橋渡しを行うインターフェースの仕様です。今回はQEMU/KVMで、このUEFIをサポートしたファームウェアを使用する方法を紹介します。 UEFIとQEMU/KVMとOVMF いわゆる「PC/AT互換機」とも呼ばれるIntel系CPUを搭載したPCでは、電源投入後からハードウェアの初期化、ブートローダーの起動などを「BIOS」と呼ばれるファームウェアが担っていました[1]。UEFIはこのBIOSを置き換えるための仕様で、機能の強化や起動の高速化、業界団体による標準化などが行われています。ここ数年のx86マシンであればほぼすべてUEFIファームウェアに置き換わっていますし、ARMプラットフォームでもよく使われるU-Bootが最近UEFIをサポートするようになりました。本連載の読者
libvirt な KVM のホストに、ベースとなるイメージからゲストをダバーっと作りたかったんですけど、IP アドレスやホスト名の設定を個別にやるのは流石にしんどいと思ったので cloud-init を使ってみたメモ。 最初は libvirt のネットワークの DHCP でどうにかしようと思いましたが、ゲストのネットワークをブリッジにしたかったので諦めました。 ベースイメージの cloud-init ベースイメージのゲストに cloud-init をインストールします。 cp -a /etc/cloud/cloud.cfg{,.orig} cat <<EOS | sudo tee /etc/cloud/cloud.cfg datasource_list: - NoCloud cloud_init_modules: - write-files - bootcmd - growpart -
Environment Red Hat Enterprise Linux (RHEL) 9 Red Hat Enterprise Linux (RHEL) 8 Red Hat Enterprise Linux (RHEL) 7 Red Hat Enterprise Linux (RHEL) 6 Red Hat Enterprise Linux (RHEL) 5 KVM Virtualization Issue How to set up KVM guests to use HugePages? Resolution Mount the HugeTLB filesystem on the host You may use any mountpoint desired, here we have created /hugepages mkdir -p /hugepages mount -t h
先日のhbstudy #17で、仮想化するなら新しいハードウェア(NPT/EPTに対応したCPU)を使用した方が良いという話を聞いたので、対応しているか調べてみようと思いました。 AMD編としているのは、今社内で使っているサーバーで古めのものはAMD Opteronを搭載しているが殆どだったので、取り敢えずNPTに対応しているかどうかが分かれば最低限用事は足りるためです。 時間があればIntelについても調べてみたいと思います。 KVMに対応しているか調べる方法 EPT/NPTは取り敢えず置いておいて、KVMに対応しているかどうかは簡単な方法だと、 $ egrep '(vmx|svm)' --color=always /proc/cpuinfoで確認できます。 しかし、NPTに対応しているかなど、CentOS 5.xでは細かい状況まではわかりません。 IOMMUに対応していればNPTにも対
結論から言うと,virshでのコマンドは実行できるものの意味をなしません。以下は,お馴染みのvirsh editを実施した様子です。こちらを編集することは可能ですが,Nutanix CEではVMの起動時に,virshで編集対象となるVMの構成が設定されるXMLファイルを必ず決められたテンプレートで上書きし,その上でvirshで操作できない領域からパラメーターを上書き又は加えた上でユーザーVMを起動しているようです。 nutanix@NTNX-4125b3c8-A-CVM:192.168.100.112:~$ virsh edit 31377d91-7b48-493e-9da9-06b28a605f15 <domain type='kvm'> <name>31377d91-7b48-493e-9da9-06b28a605f15</name> <uuid>31377d91-7b48-493e-
debianのハードディスクファイルを縮小する。 virt-managerなどからdebianを停止させる。 あたらしいディスクイメージを作成する。(8GB) $ sudo mv -i debian.img debian.img.old $ sudo dd if=/dev/zero of=debian.img bs=1024M count=8 ファイルの状態を確認する。 $ qemu-img info debian.img $ filefrag debian.img $ filefrag -v debian.img $ sudo hdparm --fibmap debian.img 手動で、新しいハードディスク、古いハードディスク、linuxのCDを指定して、CDからブートさせる。 $ sudo /usr/bin/kvm -k ja -m 1024 -smp 1 -hda debian.i
virt-clone コマンドって便利ですよね。 これ確かにスゲー便利なんですが、30回も40回も同じこと繰り返してると、スゲー疲れるわけです。 具体的に何に疲れるかって言うと、 待ち時間 ネットワークの再設定 待ち時間に関しては、シェルスクリプトにしておくなりスパースでやるオプションを付けておけば"ある程度”我慢できるけど、ネットワークの再設定に関してはスゲータルい。 なんせ1回はゲストに入らなきゃいけない。 コレを回避するには、ゲストをクローンしたときのMACアドを、DHCPサーバに書いて決め打ちにすること。 そうすればある程度は管理できる。 …のはずだったけど、RHEL6系からは新しく追加されたネットワークデバイスは自動的に ONBOOT="no" な仕様にかわったので、そもそも立ち上がらないし、RHEL5系だと、すでにeth0があった場合、インクリメントされてeth1としてアタッチ
enakai00.hatenablog.com ちょうど2年前に上記の記事を書いたのですが、同じことをRed Hatの製品版ディストリビューションRHEL-OSP7(Kilo)でやれるようにquickrdoを拡張しました。 Fedoraなどで、Nested KVMが利用できるLinux KVM環境を用意して、その上の3台の仮想マシンで下記のクラスタを構成します。各ノード共通に「eth0」がAPI/管理アクセス用で、「eth1」がVXLAN接続用になっています。コントローラーノードの「eth2」は、テナントネットワークから外部ネットワークに接続するNICになります。Packstackの制限で、VXLAN接続用NICは全ノードで同じ名前のNICデバイスを使用する必要があります。 [Internet] | | [物理NIC] |(NAT) | external01 192.168.200.0/2
悪用された場合、攻撃者がゲスト仮想マシン(VM)から抜け出してホストシステムにアクセスし、任意のコードを実行できてしまう恐れがある。ホストシステムの他に、そのホスト上で実行されている他の全てのVMにアクセスできてしまう可能性もあるという。 この脆弱性は幅広い仮想プラットフォームに影響が及び、デフォルトの設定に対して攻撃が通用し、任意のコードを実行される恐れがあるという点で、過去に見つかった他のVMエスケープの脆弱性とは異なるとCrowdStrikeは指摘。悪用されれば企業などの知的財産や個人情報といった情報の流出につながりかねないと警告している。 脆弱性はハイパーバイザーのコードベースに存在することから、ホストOS(Linux、Windows、Mac OS)に関係なく影響を受ける。また、ゲストOSにも左右されない。 影響を受けることが確認されているベンダーはQEMU、Xen Project
RHEL7/CentOS7では、virshコマンドから仮想マシンに対するリソース割り当てを制御できるようになっていますので、そのあたりを説明します。 CPU Pinning 仮想マシンに割り当てた仮想CPUごとに、その仮想CPUが使用する物理コア(その仮想CPUの処理に割り当てられる物理コア)を制限することができます。 たとえば、物理4コアの環境で、仮想CPUを2個割り当てた仮想マシン「vm01」を作成します。デフォルトでは、すべての仮想CPUは、すべての物理コアを使用することができます。 # virsh vcpuinfo vm01 VCPU: 0 CPU: 0 状態: 実行中 CPU 時間: 24.2s CPU アフィニティー: yyyy VCPU: 1 CPU: 3 状態: 実行中 CPU 時間: 5.8s CPU アフィニティー: yyyy上記の「CPUアフィニティー」が、4個の物理
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く