Movatterモバイル変換


[0]ホーム

URL:


RO
Uploaded byRyo ONODERA
PDF, PPTX748 views

NetBSD on Google Compute Engine

How to use NetBSD/7.99.25 on Google Compute Engine platform

Embed presentation

Download as PDF, PPTX
1NetBSD on Google Compute Engine2016-02-13Ryo ONODERA<ryo_on@yk.rim.or.jp><ryoon@NetBSD.org>
2NetBSD とは ?➢ BSD (Berkeley System Distribution) の系統のオペレーティングシステムの一つ。➢多くのアーキテクチャーに移植されているのが特徴。➢ Alpha, ARM, MIPS, PowerPC, m68k, 32/64-bit Sparc, SuperH, x86, x86_64, VAX➢ OrenRISC 1000, RISC-V, 64-bit ARM とかもあるが…➢ x86_64 アーキテクチャーで動くものは、 NetBSD/amd64 と呼ばれている。
3Google Compute Engine とは ?➢Google の提供する Google Cloud Platform の一つ。➢IaaS (Infrastructure as a Service) 。➢VirtIO による準仮想化された仮想マシンが提供されます。➢VirtIO に対応していないオペレーティングシステムは動かせないっぽい。➢つまり、「遅くて良いので完全仮想化を使う」のは無理。➢300 ドルまたは 60 日間の無料体験が可能 (2016-01-10 現在 ) 。➢標準では、各種 Linux distribution と Windows Server のイメージが提供されています。
4NetBSD と Google Compute Engine➢vioscsi(4) と言うのが NetBSD current にコミットされた。 Google Compute Engine にはこれが必須でした。➢FreeBSD では、 virtio_scsi(4) がこれに相当するように思います。10.0 以降含まれているようです。
5Google Cloud SDK の導入と設定➢pkgsrc/net/py-google-cloud-sdk から Google Cloud SDK をインストールします。これは Python スクリプトです。➢私は Python 2.7.11 で実行しました。➢ウェブブラウザーをインストールします。➢私は Firefox 43.0.4 を使いました。 pkgsrc/www/firefox からインストールできます。 Webkit ベースなものでも良いはずですが試してはいません。➢/usr/pkg/py27-google-cloud-sdk/bin/gcloud auth login を実行します。➢Firefox が立ち上がり、ユーザー認証の後、紐付けされます。
6プロジェクトの作成とディスクイメージの準備➢gcloud config set project netbsd-79925 のようにしてプロジェクトを作ります。➢https://cloud.google.com/compute/docs/quickstart が参考になります。インスタンスは立ち上げる必要はありません。➢NetBSD/amd64 current のディスクイメージを用意します。➢cd /usr/src && ./build.sh release && ./build.sh live-image のようにすると、 NetBSD-7.99.25-amd64-live-sd0root.img が生成されます。➢./build.sh live-image は、 gzip されたものを最終的に生成しますが、再度展開するのは面倒なので、中間生成物を使います。➢NetBSD-7.99.24-amd64-live-wd0boot.img というのも作られますが、こちらは root ファイルシステムが wd0 なので使えません。➢これを作業ディレクトリーに disk.raw と言うファイル名でコピーしてきます。
7ディスクイメージの調製➢sudo vnconfig vnd0 disk.raw を実行して、 /dev/vnd0 に disk.raw を割り当てます。➢sudo mount /dev/vnd0 /mnt && sudo chroot /mnt /bin/sh としてディスクイメージの中身を調整します。➢vioif0 で DHCP クライアントとして働くようにする。➢/etc/rc.conf に ifconfig_vioif0=dhcp を追加する。➢ユーザーを追加して、 ssh 公開鍵を配置する。➢sshd が自動的に起動するようにする。➢/etc/rc.conf に sshd=yes を追加する。➢sudo umount /mnt && sudo installboot -e -o console=com0 /dev/rvnd0a を実行して、シリアルコンソールに起動メッセージを出すように設定します。➢tar -Sczf netbsd79925.tar.gz disk.raw を実行して、ディスクイメージの雛形を作成します。
8ディスクイメージのアップロードと仮想マシンの作成➢Google Cloud Storage またはhttps な場所にnetbsd79925.tar.gz を置きます。➢Google Cloud Storage には gsutil コマンドでもウェブインターフェイスからでもアップロードできます。➢gsutil cp netbsd79925.tar.gz gs://netbsd-compute-engine/netbsd79925.tar.gz➢Google Cloud Storage に置いた場合には、gcloud compute images create netbsd79925--source-uri gs://netbsd-compute-engine/netbsd79925.tar.gz のようにし仮想マシン生成用イメージを作成します。➢netbsd79925 イメージをベースに仮想マシンを作成し起動させます。➢gcloud compute instances create instance-1 --image netbsd79925 --zone us-east1-b --machine-type f1-micro➢自動的に起動します。➢gcloud compute instances get-serial-port-output instance-1 --zone us-east1-b のようにして、ブートメッセージを得ることができます。ウェブインターフェイスからもダウンロードできます。➢しかし、シリアルコンソール経由で操作をすることはできません。 ssh 経由で操作しないといけません。
9起動メッセージ (1/2)(snip)pci0 at mainbus0 bus 0: configuration mode 1pcib0 at pci0 dev 1 function 0: vendor 8086 product 7110 (rev. 0x03)piixpm0 at pci0 dev 1 function 3: vendor 8086 product 7113 (rev. 0x03)piixpm0: SMBus disabledvirtio0 at pci0 dev 3 function 0virtio0: Virtio SCSI Device (rev. 0x00)vioscsi0 at virtio0: Features: 0x0vioscsi0: qsize 8192scsibus0 at vioscsi0: 253 targets, 1 lun per targetvirtio0: interrupting at ioapic0 pin 11virtio1 at pci0 dev 4 function 0virtio1: Virtio Network Device (rev. 0x00)vioif0 at virtio1: Ethernet address 42:01:0a:f0:00:02vioif0: Features: 0x30020<CTRL_VQ,STATUS,MAC>virtio1: interrupting at ioapic0 pin 11isa0 at pcib0
10起動メッセージ (2/2)com0 at isa0 port 0x3f8-0x3ff irq 4: ns16550a, working fifocom0: consolecom1 at isa0 port 0x2f8-0x2ff irq 3: ns16550a, working fifoattimer0 at isa0 port 0x40-0x43pcppi0 at isa0 port 0x61midi0 at pcppi0: PC speakersysbeep0 at pcppi0attimer0: attached to pcppi0acpicpu0 at cpu0: ACPI CPUsd0 at scsibus0 target 2 lun 0: <Google, PersistentDisk, 1> disk fixedsd0: fabricating a geometrysd0: 2048 MB, 2048 cyl, 64 head, 32 sec, 512 bytes/sect x 4194304 sectorssd0: fabricating a geometry(snip)
11おわりhttps://creativecommons.org/licenses/by/4.0/Copyright (c) 2016 Ryo ONODERACreativeCommons Attribution 4.0 International (CC BY 4.0)

Recommended

PDF
BHyVeってなんや
PDF
GPU仮想化最前線 - KVMGTとvirtio-gpu -
 
PDF
ゼロからはじめるKVM超入門
PDF
KVM+cgroup
PDF
/dev/kvmを直接叩いて自作VM
PDF
NetBSD on Conoha VPS at JNUG BoF 2014
PDF
Eucalyptus on OpenStack
KEY
物理マシンをケチる技術
PDF
エンジニアなら知っておきたい「仮想マシン」のしくみ v1.1 (hbstudy 17)
PDF
エンジニアなら知っておきたい「仮想マシン」のしくみ (BPStudy38)
ODP
Bhyve Internals
PDF
COMSTARでiSCSI - OpenSolaris勉強会 2011.08
 
PDF
100GbE NICを使ったデータセンター・ネットワーク実証実験 -メモ-
ODP
DRBD/Heartbeat/Pacemakerで作るKVM仮想化クラスタ
PDF
Lxc で始めるケチケチ仮想化生活?!
PDF
BHyVe: The BSD Hypervisor
PDF
VMwareで手っ取り早く社内システムをHAサーバ化してみました (bpstudy#38)
PDF
KVM Cluster with DRBD, ioDrive2 and Infiniband (130802 OSC京都)
PPTX
Packerで自動化
PDF
Cocos2d xゲームでuiテスト自動化
KEY
軽快なBHyVe
PDF
openSUSEで最強仮想環境をつくろう - ゲーミングから仮想通貨まで - OSC名古屋2017セミナー資料
 
ODP
Bhyve code reading
PDF
Routerboard勉強会 tips
PDF
仮想スイッチをフェイルオーバーさせてみる予定
PDF
vmware-meetup7
PDF
Meetup 2104 my_homenutanixce_mizuta
PDF
20180330 ガチラボ
PDF
NetBSDのクロスビルドのしくみとインストール済みLive Imageの作成
PDF
JTF2020 クロスコンパイルだけが能ではない組み込みLinuxシステムのCI/CDインフラ構築

More Related Content

PDF
BHyVeってなんや
PDF
GPU仮想化最前線 - KVMGTとvirtio-gpu -
 
PDF
ゼロからはじめるKVM超入門
PDF
KVM+cgroup
PDF
/dev/kvmを直接叩いて自作VM
PDF
NetBSD on Conoha VPS at JNUG BoF 2014
PDF
Eucalyptus on OpenStack
KEY
物理マシンをケチる技術
BHyVeってなんや
GPU仮想化最前線 - KVMGTとvirtio-gpu -
 
ゼロからはじめるKVM超入門
KVM+cgroup
/dev/kvmを直接叩いて自作VM
NetBSD on Conoha VPS at JNUG BoF 2014
Eucalyptus on OpenStack
物理マシンをケチる技術

What's hot

PDF
エンジニアなら知っておきたい「仮想マシン」のしくみ v1.1 (hbstudy 17)
PDF
エンジニアなら知っておきたい「仮想マシン」のしくみ (BPStudy38)
ODP
Bhyve Internals
PDF
COMSTARでiSCSI - OpenSolaris勉強会 2011.08
 
PDF
100GbE NICを使ったデータセンター・ネットワーク実証実験 -メモ-
ODP
DRBD/Heartbeat/Pacemakerで作るKVM仮想化クラスタ
PDF
Lxc で始めるケチケチ仮想化生活?!
PDF
BHyVe: The BSD Hypervisor
PDF
VMwareで手っ取り早く社内システムをHAサーバ化してみました (bpstudy#38)
PDF
KVM Cluster with DRBD, ioDrive2 and Infiniband (130802 OSC京都)
PPTX
Packerで自動化
PDF
Cocos2d xゲームでuiテスト自動化
KEY
軽快なBHyVe
PDF
openSUSEで最強仮想環境をつくろう - ゲーミングから仮想通貨まで - OSC名古屋2017セミナー資料
 
ODP
Bhyve code reading
PDF
Routerboard勉強会 tips
PDF
仮想スイッチをフェイルオーバーさせてみる予定
PDF
vmware-meetup7
PDF
Meetup 2104 my_homenutanixce_mizuta
PDF
20180330 ガチラボ
エンジニアなら知っておきたい「仮想マシン」のしくみ v1.1 (hbstudy 17)
エンジニアなら知っておきたい「仮想マシン」のしくみ (BPStudy38)
Bhyve Internals
COMSTARでiSCSI - OpenSolaris勉強会 2011.08
 
100GbE NICを使ったデータセンター・ネットワーク実証実験 -メモ-
DRBD/Heartbeat/Pacemakerで作るKVM仮想化クラスタ
Lxc で始めるケチケチ仮想化生活?!
BHyVe: The BSD Hypervisor
VMwareで手っ取り早く社内システムをHAサーバ化してみました (bpstudy#38)
KVM Cluster with DRBD, ioDrive2 and Infiniband (130802 OSC京都)
Packerで自動化
Cocos2d xゲームでuiテスト自動化
軽快なBHyVe
openSUSEで最強仮想環境をつくろう - ゲーミングから仮想通貨まで - OSC名古屋2017セミナー資料
 
Bhyve code reading
Routerboard勉強会 tips
仮想スイッチをフェイルオーバーさせてみる予定
vmware-meetup7
Meetup 2104 my_homenutanixce_mizuta
20180330 ガチラボ

Similar to NetBSD on Google Compute Engine

PDF
NetBSDのクロスビルドのしくみとインストール済みLive Imageの作成
PDF
JTF2020 クロスコンパイルだけが能ではない組み込みLinuxシステムのCI/CDインフラ構築
PDF
もしCloudStackのKVMホストでPCIパススルーできるようになったら
PDF
NetBSD, On the ROAD 2016
PDF
余ったPCをルータに変える、ソフトウェアルータ「SEIL/x86」
byIIJ
 
PDF
Xenとzfsで作る家庭内VDIサーバ
 
PDF
Osc2009 Do Xen Hara
PDF
SaaS/クラウドコンピューティングでのオープンソース活用とセキュリティ
PDF
GTC Japan 2017
PDF
Personal Cloud Automation
PDF
環境構築自動化ツールのご紹介
PDF
Aeolus Conductorによる複数環境へのデプロイ自動化
PDF
20121119.dodai projectの紹介
PDF
OpenNebula on Ubuntu
PDF
Linux Kernel Seminar in tripodworks
PDF
NetBSD/evbarm (APC9750) への道
PDF
Install virtual box_debian_section1
PDF
about dodai project in OSC 2012.Cloud
PDF
cloudpack night#9 (Google Compute Engine)
PPTX
Seti@home on debian 20140725
NetBSDのクロスビルドのしくみとインストール済みLive Imageの作成
JTF2020 クロスコンパイルだけが能ではない組み込みLinuxシステムのCI/CDインフラ構築
もしCloudStackのKVMホストでPCIパススルーできるようになったら
NetBSD, On the ROAD 2016
余ったPCをルータに変える、ソフトウェアルータ「SEIL/x86」
byIIJ
 
Xenとzfsで作る家庭内VDIサーバ
 
Osc2009 Do Xen Hara
SaaS/クラウドコンピューティングでのオープンソース活用とセキュリティ
GTC Japan 2017
Personal Cloud Automation
環境構築自動化ツールのご紹介
Aeolus Conductorによる複数環境へのデプロイ自動化
20121119.dodai projectの紹介
OpenNebula on Ubuntu
Linux Kernel Seminar in tripodworks
NetBSD/evbarm (APC9750) への道
Install virtual box_debian_section1
about dodai project in OSC 2012.Cloud
cloudpack night#9 (Google Compute Engine)
Seti@home on debian 20140725

More from Ryo ONODERA

PDF
helloSystemをインストール
PDF
pkgsrcユーザー向け設定
PDF
NetBSD on Google Compute Engine (en)
PDF
FreeBSD under DigitalOcean VPS
PDF
140607 lib o-mini_con-ryoon
PDF
自分的pkgsrcの課題
ODP
LibreOffice 4 under NetBSD with pkgsrc
ODP
LibreOffice 4 under NetBSD with pkgsrc (en)
ODP
How to package github softwares
helloSystemをインストール
pkgsrcユーザー向け設定
NetBSD on Google Compute Engine (en)
FreeBSD under DigitalOcean VPS
140607 lib o-mini_con-ryoon
自分的pkgsrcの課題
LibreOffice 4 under NetBSD with pkgsrc
LibreOffice 4 under NetBSD with pkgsrc (en)
How to package github softwares

NetBSD on Google Compute Engine

  • 1.
    1NetBSD on GoogleCompute Engine2016-02-13Ryo ONODERA<ryo_on@yk.rim.or.jp><ryoon@NetBSD.org>
  • 2.
    2NetBSD とは ?➢BSD (Berkeley System Distribution) の系統のオペレーティングシステムの一つ。➢多くのアーキテクチャーに移植されているのが特徴。➢ Alpha, ARM, MIPS, PowerPC, m68k, 32/64-bit Sparc, SuperH, x86, x86_64, VAX➢ OrenRISC 1000, RISC-V, 64-bit ARM とかもあるが…➢ x86_64 アーキテクチャーで動くものは、 NetBSD/amd64 と呼ばれている。
  • 3.
    3Google Compute Engineとは ?➢Google の提供する Google Cloud Platform の一つ。➢IaaS (Infrastructure as a Service) 。➢VirtIO による準仮想化された仮想マシンが提供されます。➢VirtIO に対応していないオペレーティングシステムは動かせないっぽい。➢つまり、「遅くて良いので完全仮想化を使う」のは無理。➢300 ドルまたは 60 日間の無料体験が可能 (2016-01-10 現在 ) 。➢標準では、各種 Linux distribution と Windows Server のイメージが提供されています。
  • 4.
    4NetBSD と GoogleCompute Engine➢vioscsi(4) と言うのが NetBSD current にコミットされた。 Google Compute Engine にはこれが必須でした。➢FreeBSD では、 virtio_scsi(4) がこれに相当するように思います。10.0 以降含まれているようです。
  • 5.
    5Google Cloud SDKの導入と設定➢pkgsrc/net/py-google-cloud-sdk から Google Cloud SDK をインストールします。これは Python スクリプトです。➢私は Python 2.7.11 で実行しました。➢ウェブブラウザーをインストールします。➢私は Firefox 43.0.4 を使いました。 pkgsrc/www/firefox からインストールできます。 Webkit ベースなものでも良いはずですが試してはいません。➢/usr/pkg/py27-google-cloud-sdk/bin/gcloud auth login を実行します。➢Firefox が立ち上がり、ユーザー認証の後、紐付けされます。
  • 6.
    6プロジェクトの作成とディスクイメージの準備➢gcloud config setproject netbsd-79925 のようにしてプロジェクトを作ります。➢https://cloud.google.com/compute/docs/quickstart が参考になります。インスタンスは立ち上げる必要はありません。➢NetBSD/amd64 current のディスクイメージを用意します。➢cd /usr/src && ./build.sh release && ./build.sh live-image のようにすると、 NetBSD-7.99.25-amd64-live-sd0root.img が生成されます。➢./build.sh live-image は、 gzip されたものを最終的に生成しますが、再度展開するのは面倒なので、中間生成物を使います。➢NetBSD-7.99.24-amd64-live-wd0boot.img というのも作られますが、こちらは root ファイルシステムが wd0 なので使えません。➢これを作業ディレクトリーに disk.raw と言うファイル名でコピーしてきます。
  • 7.
    7ディスクイメージの調製➢sudo vnconfig vnd0disk.raw を実行して、 /dev/vnd0 に disk.raw を割り当てます。➢sudo mount /dev/vnd0 /mnt && sudo chroot /mnt /bin/sh としてディスクイメージの中身を調整します。➢vioif0 で DHCP クライアントとして働くようにする。➢/etc/rc.conf に ifconfig_vioif0=dhcp を追加する。➢ユーザーを追加して、 ssh 公開鍵を配置する。➢sshd が自動的に起動するようにする。➢/etc/rc.conf に sshd=yes を追加する。➢sudo umount /mnt && sudo installboot -e -o console=com0 /dev/rvnd0a を実行して、シリアルコンソールに起動メッセージを出すように設定します。➢tar -Sczf netbsd79925.tar.gz disk.raw を実行して、ディスクイメージの雛形を作成します。
  • 8.
    8ディスクイメージのアップロードと仮想マシンの作成➢Google Cloud Storageまたはhttps な場所にnetbsd79925.tar.gz を置きます。➢Google Cloud Storage には gsutil コマンドでもウェブインターフェイスからでもアップロードできます。➢gsutil cp netbsd79925.tar.gz gs://netbsd-compute-engine/netbsd79925.tar.gz➢Google Cloud Storage に置いた場合には、gcloud compute images create netbsd79925--source-uri gs://netbsd-compute-engine/netbsd79925.tar.gz のようにし仮想マシン生成用イメージを作成します。➢netbsd79925 イメージをベースに仮想マシンを作成し起動させます。➢gcloud compute instances create instance-1 --image netbsd79925 --zone us-east1-b --machine-type f1-micro➢自動的に起動します。➢gcloud compute instances get-serial-port-output instance-1 --zone us-east1-b のようにして、ブートメッセージを得ることができます。ウェブインターフェイスからもダウンロードできます。➢しかし、シリアルコンソール経由で操作をすることはできません。 ssh 経由で操作しないといけません。
  • 9.
    9起動メッセージ (1/2)(snip)pci0 atmainbus0 bus 0: configuration mode 1pcib0 at pci0 dev 1 function 0: vendor 8086 product 7110 (rev. 0x03)piixpm0 at pci0 dev 1 function 3: vendor 8086 product 7113 (rev. 0x03)piixpm0: SMBus disabledvirtio0 at pci0 dev 3 function 0virtio0: Virtio SCSI Device (rev. 0x00)vioscsi0 at virtio0: Features: 0x0vioscsi0: qsize 8192scsibus0 at vioscsi0: 253 targets, 1 lun per targetvirtio0: interrupting at ioapic0 pin 11virtio1 at pci0 dev 4 function 0virtio1: Virtio Network Device (rev. 0x00)vioif0 at virtio1: Ethernet address 42:01:0a:f0:00:02vioif0: Features: 0x30020<CTRL_VQ,STATUS,MAC>virtio1: interrupting at ioapic0 pin 11isa0 at pcib0
  • 10.
    10起動メッセージ (2/2)com0 atisa0 port 0x3f8-0x3ff irq 4: ns16550a, working fifocom0: consolecom1 at isa0 port 0x2f8-0x2ff irq 3: ns16550a, working fifoattimer0 at isa0 port 0x40-0x43pcppi0 at isa0 port 0x61midi0 at pcppi0: PC speakersysbeep0 at pcppi0attimer0: attached to pcppi0acpicpu0 at cpu0: ACPI CPUsd0 at scsibus0 target 2 lun 0: <Google, PersistentDisk, 1> disk fixedsd0: fabricating a geometrysd0: 2048 MB, 2048 cyl, 64 head, 32 sec, 512 bytes/sect x 4194304 sectorssd0: fabricating a geometry(snip)
  • 11.
    11おわりhttps://creativecommons.org/licenses/by/4.0/Copyright (c) 2016Ryo ONODERACreativeCommons Attribution 4.0 International (CC BY 4.0)

[8]ページ先頭

©2009-2025 Movatter.jp