狠狠撸

狠狠撸Share a Scribd company logo
I love Gentoo!
山田剛
#gentoo勉強会 2016/10/01
注意事項
?タイトルは煽りです!
当方、dockerに敵意は持っておりません
おまえ誰よ
GO Yamada
Web広告配信会社で雑用の合間に DNS、メール、Hadoop等の運用、
構築をやってます
? 最近の仕事
? インターネットができないんです案件からGmail への移行
? 好きな Linux ディストリ
? Gentoo 教 systemd 派
? ここ1年の興味
? 糖質制限を Python に関連付けしてネタを作りたい
? 最近詰まっているところ
? Gentoo で qmail-smtpd の Unit の書き方
? コミュニティ
? Sphinx-Users.JP
? Python mini hack-a-thon
3
Twitter: usaturn
宣伝 Sphinx-Users.JP
「Sphinx」というPythonのドキュメンテーション
ツールのユーザ会で活動しています。
4
現在ユーザ会のメンバで
SoftwareDesignにSphinx
の記事を連載中!
アンケート
? btrfs を常用している人
? Gentoo で docker 使っている人
? Gentoo を systemd で使っている人
? systemd-nspawn を使っている人
本日のアジェンダ
1. btrfs について
2. systemd のおさらいとメリット
3. systemd-nspawn の紹介
btrfs
? Copy on Write
? 従来のパーティションをサブボリュームとして作る
ことが可能
? サブボリュームのスナップショットが撮れる
? サブボリューム単位でバックアップがとれる
? send/receive
? RAID0、RAID1 が stable で利用可能
? 透過圧縮が利く compress=gzip, lzo
? スワップ領域が作れない
Gentoo 人も systemd 使おう
? ユニット(unit)
? systemd がプロセス管理する為の最小単位、あるい
はその設定ファイル
? 便利機能各種
? Genntoo や Arch なら systemd で基本機能を代替で
きるので最小構成が作りやすい
? Gentoo は systemd の stage3 があるので簡単に
セットアップできるようになった
ユニットでできる事
? コマンドの実行
? 他のユニットとの依存関係の解決
? ファイルの存在や mount デバイスの有無等の条件
分岐
syslog が要らない
? journald という仕組みでテキストログではなくバイ
ナリに出力される。
ネットワーク設定
? systemd-networkd
cron が要らない
? systemd.timer
ntp クライアントが要らない
? systemd-timesyncd
grub が要らない
? 標準で systemd-boot というブートローダーを備え
ており、UEFI の場合は GRUB のインストールが不
要。
? BIOS が UEFI の場合は /boot を ESP にする事に
よって UEFI から直接 ESP のファイルを起動する事
ができる。ブートローダーも使いたくなければ、直
接 UEFI エントリに登録する事も可能
Gentoo で systemd を導入するメリット
? 既存の必須アプリで systemd が代替できる物が多
い為、パッケージの導入が少なくなる
? もちろん、systemd の便利機能が使える事はよい事
docker が要らない?
?systemd-nspawn
この発表の主目的
デモ
コンテナの起動停止 ::
machinectl start [コンテナ名]
machinectl poweroff
コンテナのスタートアップ ::
machinectl enable [コンテナ名]
machinectl disable [コンテナ名]
稼働中のコンテナの確認 ::
machinectl list
machinectl status [コンテナ名]
machinectl show [コンテナ名]
コンテナイメージの確認 ::
machinectl list-images
machinectl image-status
machinectl show-image
コンテナイメージの複製 ::
machinectl clone [From] [To]
コンテナイメージのリネーム、削除 ::
machinectl rename [From] [To]
machinectl remove [コンテナ名]
デモ
コンテナイメージの容量制限 ::
machinectl set-limit
コンテナイメージのアーカイブ、展開 ::
# アーカイブ
machinectl export-tar --format=[gz, bzip2, xz] [コンテナ名] [ファイル名]
# xz でマルチスレッド圧縮をする例 (一番お勧め!)
maxz() { machinectl export-tar $1 $1.tar && nice -n 20 xz -z -f -T $(nproc) -vv $1.tar; }
maxz [コンテナ名]
# インポート
machinectl import-tar [ファイル名] [コンテナ名]
Web サーバからイメージをダウンロードする ::
# machinectl pull-tar [URL] [name]
machinectl pull-tar --verify=no http://spica:8000/gbase.tar.gz gbase
# pull の最中に Ctrl+C で処理をバックグラウンドにする事ができるが、バックグラウンドの処
理を見たい時に実行する。
machinectl list-transfers
まとめ
?sysytemd を使うと従来必須だった
パッケージを入れずに済む
?systemd-nspawn はとても便利
?systemd-nspawn 使うなら btrfs も
合わせて使うとイメージのクローン
がスナップショットになり作成が速
い、容量を食わない等のメリットが
ある

More Related Content

Don't need docker