Enviar pesquisa
Carregar
Kyoto.pm 20120818-hogem
•
0 gostou
•
781 visualizações
H
hogem
Seguir
Introduction to Sys::Virt, Sys::Guestfs
Leia menos
Leia mais
Denunciar
Compartilhar
Denunciar
Compartilhar
1 de 20
Baixar agora
Baixar para ler offline
Recomendados
勉強会0614 vagrant
勉強会0614 vagrant
Yu Ito
軽快なBHyVe
軽快なBHyVe
Takuya ASADA
Bhyve Internals
Bhyve Internals
Takuya ASADA
BHyVe: The BSD Hypervisor
BHyVe: The BSD Hypervisor
Takuya ASADA
Packerで自動化
Packerで自動化
Shintaro Hasunuma
Ansible ではじめるサーバ作業の自動化
Ansible ではじめるサーバ作業の自動化
Masashi Shinbara
Kansai mrb gr_sakura
Kansai mrb gr_sakura
Kosuga Masakatsu
pixivのインフラを支える技術
pixivのインフラを支える技術
Ryuta Kamizono
Recomendados
勉強会0614 vagrant
勉強会0614 vagrant
Yu Ito
軽快なBHyVe
軽快なBHyVe
Takuya ASADA
Bhyve Internals
Bhyve Internals
Takuya ASADA
BHyVe: The BSD Hypervisor
BHyVe: The BSD Hypervisor
Takuya ASADA
Packerで自動化
Packerで自動化
Shintaro Hasunuma
Ansible ではじめるサーバ作業の自動化
Ansible ではじめるサーバ作業の自動化
Masashi Shinbara
Kansai mrb gr_sakura
Kansai mrb gr_sakura
Kosuga Masakatsu
pixivのインフラを支える技術
pixivのインフラを支える技術
Ryuta Kamizono
Presentation on your terminal
Presentation on your terminal
Takuya ASADA
VagrantユーザのためのDocker入門
VagrantユーザのためのDocker入門
Masashi Shinbara
サバカン屋のサバ缶はre:Inventで通用したのか&すぐに使える!最新運用ネタ #re:Port2016
サバカン屋のサバ缶はre:Inventで通用したのか&すぐに使える!最新運用ネタ #re:Port2016
Kohei Hoshi
ピクシブの自作インフラ事情
ピクシブの自作インフラ事情
Ryuta Kamizono
An idea of bios emulation on b hy ve
An idea of bios emulation on b hy ve
Takuya ASADA
こんてなぐらし!〜FreeBSD VPSでライブマイグレーション〜
こんてなぐらし!〜FreeBSD VPSでライブマイグレーション〜
furandon_pig
FreeBSD VPSでLive Migration
FreeBSD VPSでLive Migration
spg_games
OSC Tokyo fall LT~Dockerで分散処理をやってみた
OSC Tokyo fall LT~Dockerで分散処理をやってみた
atk1234
Ansible ではじめるインフラのコード化入門
Ansible ではじめるインフラのコード化入門
Sho A
OSvのご紹介 in Java 8 HotSpot meeting
OSvのご紹介 in Java 8 HotSpot meeting
Takuya ASADA
PowerShell de Azure
PowerShell de Azure
Atsushi Kojima
コマンドラインからplistファイルを扱う
コマンドラインからplistファイルを扱う
Yusuke Kawakami
ChefとPuppetの比較
ChefとPuppetの比較
Sugawara Genki
Ansible roleとinventoryの書き方
Ansible roleとinventoryの書き方
Kamimura Taichi
XenServerとZFSストレージでサーバ仮想化 - OSC2011 Tokyo/Spring 自宅SAN友の会(後半)
XenServerとZFSストレージでサーバ仮想化 - OSC2011 Tokyo/Spring 自宅SAN友の会(後半)
tokuhy
Containerで変わるDevOps
Containerで変わるDevOps
shokiri
OSvのご紹介 in OSC2014 Tokyo/Fall
OSvのご紹介 in OSC2014 Tokyo/Fall
Takuya ASADA
AWSとGCPを使用したインフラ環境
AWSとGCPを使用したインフラ環境
Katsutoshi Nagaoka
Webサーバ構築で心がけるべき二つのこと
Webサーバ構築で心がけるべき二つのこと
TrinityT _
130412 kayac-cinnamon
130412 kayac-cinnamon
Yuki Shibazaki
Cinnamon - simple deploy tool
Cinnamon - simple deploy tool
Yuki Shibazaki
ヤギにサーバーを管理してもらう話
ヤギにサーバーを管理してもらう話
Masaki Kobayashi
Mais conteúdo relacionado
Mais procurados
Presentation on your terminal
Presentation on your terminal
Takuya ASADA
VagrantユーザのためのDocker入門
VagrantユーザのためのDocker入門
Masashi Shinbara
サバカン屋のサバ缶はre:Inventで通用したのか&すぐに使える!最新運用ネタ #re:Port2016
サバカン屋のサバ缶はre:Inventで通用したのか&すぐに使える!最新運用ネタ #re:Port2016
Kohei Hoshi
ピクシブの自作インフラ事情
ピクシブの自作インフラ事情
Ryuta Kamizono
An idea of bios emulation on b hy ve
An idea of bios emulation on b hy ve
Takuya ASADA
こんてなぐらし!〜FreeBSD VPSでライブマイグレーション〜
こんてなぐらし!〜FreeBSD VPSでライブマイグレーション〜
furandon_pig
FreeBSD VPSでLive Migration
FreeBSD VPSでLive Migration
spg_games
OSC Tokyo fall LT~Dockerで分散処理をやってみた
OSC Tokyo fall LT~Dockerで分散処理をやってみた
atk1234
Ansible ではじめるインフラのコード化入門
Ansible ではじめるインフラのコード化入門
Sho A
OSvのご紹介 in Java 8 HotSpot meeting
OSvのご紹介 in Java 8 HotSpot meeting
Takuya ASADA
PowerShell de Azure
PowerShell de Azure
Atsushi Kojima
コマンドラインからplistファイルを扱う
コマンドラインからplistファイルを扱う
Yusuke Kawakami
ChefとPuppetの比較
ChefとPuppetの比較
Sugawara Genki
Ansible roleとinventoryの書き方
Ansible roleとinventoryの書き方
Kamimura Taichi
XenServerとZFSストレージでサーバ仮想化 - OSC2011 Tokyo/Spring 自宅SAN友の会(後半)
XenServerとZFSストレージでサーバ仮想化 - OSC2011 Tokyo/Spring 自宅SAN友の会(後半)
tokuhy
Containerで変わるDevOps
Containerで変わるDevOps
shokiri
OSvのご紹介 in OSC2014 Tokyo/Fall
OSvのご紹介 in OSC2014 Tokyo/Fall
Takuya ASADA
AWSとGCPを使用したインフラ環境
AWSとGCPを使用したインフラ環境
Katsutoshi Nagaoka
Webサーバ構築で心がけるべき二つのこと
Webサーバ構築で心がけるべき二つのこと
TrinityT _
Mais procurados
(19)
Presentation on your terminal
Presentation on your terminal
VagrantユーザのためのDocker入門
VagrantユーザのためのDocker入門
サバカン屋のサバ缶はre:Inventで通用したのか&すぐに使える!最新運用ネタ #re:Port2016
サバカン屋のサバ缶はre:Inventで通用したのか&すぐに使える!最新運用ネタ #re:Port2016
ピクシブの自作インフラ事情
ピクシブの自作インフラ事情
An idea of bios emulation on b hy ve
An idea of bios emulation on b hy ve
こんてなぐらし!〜FreeBSD VPSでライブマイグレーション〜
こんてなぐらし!〜FreeBSD VPSでライブマイグレーション〜
FreeBSD VPSでLive Migration
FreeBSD VPSでLive Migration
OSC Tokyo fall LT~Dockerで分散処理をやってみた
OSC Tokyo fall LT~Dockerで分散処理をやってみた
Ansible ではじめるインフラのコード化入門
Ansible ではじめるインフラのコード化入門
OSvのご紹介 in Java 8 HotSpot meeting
OSvのご紹介 in Java 8 HotSpot meeting
PowerShell de Azure
PowerShell de Azure
コマンドラインからplistファイルを扱う
コマンドラインからplistファイルを扱う
ChefとPuppetの比較
ChefとPuppetの比較
Ansible roleとinventoryの書き方
Ansible roleとinventoryの書き方
XenServerとZFSストレージでサーバ仮想化 - OSC2011 Tokyo/Spring 自宅SAN友の会(後半)
XenServerとZFSストレージでサーバ仮想化 - OSC2011 Tokyo/Spring 自宅SAN友の会(後半)
Containerで変わるDevOps
Containerで変わるDevOps
OSvのご紹介 in OSC2014 Tokyo/Fall
OSvのご紹介 in OSC2014 Tokyo/Fall
AWSとGCPを使用したインフラ環境
AWSとGCPを使用したインフラ環境
Webサーバ構築で心がけるべき二つのこと
Webサーバ構築で心がけるべき二つのこと
Semelhante a Kyoto.pm 20120818-hogem
130412 kayac-cinnamon
130412 kayac-cinnamon
Yuki Shibazaki
Cinnamon - simple deploy tool
Cinnamon - simple deploy tool
Yuki Shibazaki
ヤギにサーバーを管理してもらう話
ヤギにサーバーを管理してもらう話
Masaki Kobayashi
成長を加速する minne の技術基盤戦略
成長を加速する minne の技術基盤戦略
Hiroshi SHIBATA
恋に落ちるデプロイツール
恋に落ちるデプロイツール
totty jp
コンテナ型仮想化とはなんだったのか
コンテナ型仮想化とはなんだったのか
えむ ばーど
ホームディレクトリに埋もれた便利なコードをさがせ!
ホームディレクトリに埋もれた便利なコードをさがせ!
Yohei Fushii
サーバーレスアプリケーションの作り方
サーバーレスアプリケーションの作り方
Yoichi Toyota
Hbstudy41 auto scaling
Hbstudy41 auto scaling
Fujishiro Takuya
Hadoop on LXC
Hadoop on LXC
俊夫 森
Server side Swift & Photo Booth
Server side Swift & Photo Booth
LINE Corporation
「Vimrcリーディングに役立ちそうな」vimrcの設定とplugin管理
「Vimrcリーディングに役立ちそうな」vimrcの設定とplugin管理
gu4
Dockerイメージ構築 実践テクニック
Dockerイメージ構築 実践テクニック
Emma Haruka Iwao
Bhyve code reading
Bhyve code reading
Takuya ASADA
Vyatta 改造入門
Vyatta 改造入門
Masakazu Asama
SmartPhone development guide with CoffeeScript + Node + HTML5 Technology, for...
SmartPhone development guide with CoffeeScript + Node + HTML5 Technology, for...
Naoya Ito
クラウド環境向けZabbixカスタマイズ紹介(第5回Zabbix勉強会)
クラウド環境向けZabbixカスタマイズ紹介(第5回Zabbix勉強会)
Daisuke Ikeda
Fabricでサーバー管理をDRYにしよう
Fabricでサーバー管理をDRYにしよう
max747
作られては消えていく泡のように儚いクラスタの運用話
作られては消えていく泡のように儚いクラスタの運用話
Tsuyoshi Torii
仮想化した DC を PowerShell で複製する
仮想化した DC を PowerShell で複製する
junichi anno
Semelhante a Kyoto.pm 20120818-hogem
(20)
130412 kayac-cinnamon
130412 kayac-cinnamon
Cinnamon - simple deploy tool
Cinnamon - simple deploy tool
ヤギにサーバーを管理してもらう話
ヤギにサーバーを管理してもらう話
成長を加速する minne の技術基盤戦略
成長を加速する minne の技術基盤戦略
恋に落ちるデプロイツール
恋に落ちるデプロイツール
コンテナ型仮想化とはなんだったのか
コンテナ型仮想化とはなんだったのか
ホームディレクトリに埋もれた便利なコードをさがせ!
ホームディレクトリに埋もれた便利なコードをさがせ!
サーバーレスアプリケーションの作り方
サーバーレスアプリケーションの作り方
Hbstudy41 auto scaling
Hbstudy41 auto scaling
Hadoop on LXC
Hadoop on LXC
Server side Swift & Photo Booth
Server side Swift & Photo Booth
「Vimrcリーディングに役立ちそうな」vimrcの設定とplugin管理
「Vimrcリーディングに役立ちそうな」vimrcの設定とplugin管理
Dockerイメージ構築 実践テクニック
Dockerイメージ構築 実践テクニック
Bhyve code reading
Bhyve code reading
Vyatta 改造入門
Vyatta 改造入門
SmartPhone development guide with CoffeeScript + Node + HTML5 Technology, for...
SmartPhone development guide with CoffeeScript + Node + HTML5 Technology, for...
クラウド環境向けZabbixカスタマイズ紹介(第5回Zabbix勉強会)
クラウド環境向けZabbixカスタマイズ紹介(第5回Zabbix勉強会)
Fabricでサーバー管理をDRYにしよう
Fabricでサーバー管理をDRYにしよう
作られては消えていく泡のように儚いクラスタの運用話
作られては消えていく泡のように儚いクラスタの運用話
仮想化した DC を PowerShell で複製する
仮想化した DC を PowerShell で複製する
Kyoto.pm 20120818-hogem
1.
Sys::Virt と Sys::Guestfs
で仮想マシンを操ってみた 2012/8/18 id:hogem / @hogem
2.
自己紹介 •
Kenichi Morimoto • id:hogem / @hogem • http//d.hatena.ne.jp/hogem/ • Infra, Server, Network Engineer • 某鉄道系グループ企業 • ISP 事業 , サーバホスティング等
3.
4.
Perl 使っているところ •
CMTS, CATV Modem(Docsis) • Log Rotate, File Backup • ネットワーク機器設定 , 管理 • Net::Telnet(::Cisco), Net::SSH • Net::Snmp • ログ検索、業務系管理用 Web App • CGI, CGI::Application, Plack • cgi-lib.pl (!?)
5.
仮想化
6.
仮想化でサーバ構築が楽に? •
大量のサーバクローン、起動、停止 • クローン後の単純作業が結構ある • IP, MAC, hostname • uuid, •その他 app ごとの設定 • この辺りを楽に運用したい!
7.
KVM と libvirt •
KVM • 仮想化ハイパーバイザ : Linux Kernel • libvirt • 仮想化 API • virsh ( コマンドライン ) • virt-manager (GUI: python) • Sys::Virt (perl)
8.
Sys::Virt •
libvirt perl binding • OS の libvirt に依存するので cpan ではな く、 yum/apt での install が楽 $uri = "qemu///system"; $vmm = Sys::Virt->new(uri => $uri); @domains = $vmm->list_domains(); $dom = $vmm->get_domain_by_name($name);
9.
Sys::Virt::Domain •
Sys::Virt::list_domain() で返される配 列の要素 # 個々の仮想マシンオブジェクト • $dom->destroy() # 強制停止 • $dom->create() # 起動 • $dom->shutdown() # 停止 • 仮想マシン上で acpid の起動が必要
10.
停止状態の仮想マシンを起動 use Sys::Virt; my $uri
= "qemu+ssh://$host/system"; $vmm = Sys::Virt->new(uri => $uri); for my $dom ($vmm->list_defined_domains) { if ($dom->get_info->{state} == Sys::Virt::Domain::STATE_SHUTOFF) { $dom->create(); print $dom->get_name, " createdn"; } }
11.
Sys::Virt デモ •
https://github.com/hogem/libvirt_webapp • KVM 操作簡易 web app • 仮想マシン起動 , 停止 , VNC 接続 • VNC コンソール接続 ( 非 Sys::Virt) • VNC Client : TightVNC (java) • ssh port forwarding to vnc port
12.
仮想マシンクローン後の作業 •
Hostname 変更 • IP, MAC アドレス変更 • /etc/sysconfig/network • ifcfg-ethX • /etc/udev/rules.d/70-persistent- net.rules • 起動時 daemon の変更 (chkconfig) • その他 各 app ごとの設定など
13.
Sys::Guestfs •
libguestfs の perl binding • guestfish コマンド • cpan にないので yum で • yum install perl-Sys-Guestfs • libguestfs • 仮想マシンの Disk イメージを操作 • ファイル参照 (cat),export(copy-out) • ファイル書込 (vi),import(copy-in) • コマンド実行
14.
Sys::Guestfs sample use Sys::Guestfs; my
$h = Sys::Guestfs->new(); $h->add_drive_opts( 'disk.img', format => 'qcow2' ); $h->launch(); $h->mount_options('', '/dev/vda1', '/'); $output = $h->command( [qw(chkconfig nginx off)] ); $h->sync(); $h->close();
15.
Sys::Guestfs デモ
16.
まとめ •
Sys::Virt(libvirt api) で仮想マシンの起 動、停止等ができる • Sys::Guestfs で仮想マシンの disk イメー ジを mount して、ファイル読み書き、コマン ド実行ができる • 大量の仮想マシン操作のお供にどうぞ
17.
質問?
18.
ご静聴ありがとう ございました
19.
libvirt memo ●
(Sys::Virt に限らず ) NFS で共有している 領域に disk image を置く場合、複数のハイ パーバイザで同時起動しないように注意す る。 File system が壊れてしまう ● remote の hypervisor を操作する場 合、 ssh passphrase なしの公開鍵を作成 しておくとログインが楽になる
20.
guestfish memo ●
起動中の image に書き込みを加えると file system が壊れる。変更の必要がなければ - ro を推奨。 ● # guestfish -ro -a disk.img ● > run ● > list-filesystems ● > mount /dev/vda1 /
Baixar agora