2011年5月1日日曜日

apt-cacher-ng

インストールマニアのつもりはないけど、仮想マシンを度々作るにあたって何か
手軽にできないかな。えーっと g4u だっけ? の debian 版は。と探してみたら
FAI (Fully Automatic Installation) というモノがあった。いつものごとく
Quickstart - For the impatient user コレコレ。と眺め始めるも 明確な計画先
に立たず一旦保留。ドキュメントの中で apt-proxy 使うみたいなことが書かれて
いたけど squeeze になく、他をあたったところと似たようなパッケージを発見。確かに epoch 時間は読みヅラいけど、まぁ。
サーバ側は何もせず、クライアント側だけ /etc/apt を少々
  • /etc/apt/apt.conf.d/02proxy
    Acquire::http { Proxy "http://CacheServerIp:3142"; };
  • sources.list を
    • 前 deb http://ftp.uni-kl.de/debian etch main
    • 後 deb http://192.168.0.17:3142/ftp.uni-kl.de/debian etch main
のどちらか tap 接続なのでソレナリの bridge /etc/kvm-ifup 設定と netboot の準備した 後にインストール
...の前にごめんなさい。以前 dhcpd.conf で二つ誤り。一点はファイル名 filename "pxelinux.0"; ルートのスラッシュが必要らしく、正しくは filename "/pxelinux.0"; もう一点は failover らしき内容調子に乗って書いていたけど、できないそうで す。加えて isc-dhcpd の仕様でもないそうで、無理矢理稼動させようとしたと ころ /etc/dhcp/master.conf line 1259: dynamic-bootp flag is not permitted for address range dynamic-bootp 172.27.101.193 172.27.101.220; ^ range declarations where there is a failover peer in scope. If you wish to declare an address range from which dynamic bootp leases can be allocated, please declare it within a pool declaration that also contains the "no failover" statement. The failover protocol itself does not permit dynamic bootp - this is not a limitation specific to the ISC DHCP server. Please don't ask me to defend this until you have read and really tried to understand the failover protocol specification. と叱られてしまいました。さて... と僅かばかりの試行錯誤、格闘してみたとこ ろの結果としては、当該 subnet では failover 使わない。が無難そう ignore bootp; ... subnet 172.27.101.0 netmask 255.255.255.0 { option routers 172.27.101.1; option broadcast-address 172.27.101.255; option domain-name-servers 172.27.1.1, 172.27.129.1; option domain-name "mydomain.or.jp"; pool { # ignore unknown-clients; deny dynamic bootp clients; failover peer "poolish"; range 172.27.101.65 172.27.101.190; } } としてあったところを allow bootp; ... subnet 172.27.101.0 netmask 255.255.255.0 { option routers 172.27.101.1; option broadcast-address 172.27.101.255; option domain-name-servers 172.27.1.1, 172.27.129.1; option domain-name "mydomains.or.jp"; filename "/pxelinux.0"; next-server 172.27.1.1; range 172.27.101.65 172.27.101.190; range dynamic-bootp 172.27.101.193 172.27.101.220; } として。こんなんで failover のよくある設定方法、dhcpd.conf と master.conf での master.conf があっちとこっちで違ってくると言う悲しい結 果。他にも間違いあったら指摘いただけると嬉しいです。
と、気を取り直して # kvm -net nic,model=virtio -net tap -boot n -curses netest.img とすると virtio で PXE が稼動開始して下記テキスト画面 Starting SeaBIOS (version 0.5.1-20101112_103537-polaris) Booting from virtio-net.zrom 5.4.4 (GPL) ether... ROM segment 0xc900 length 0x8000 reloc 0x00000000 Etherboot 5.4.4 (GPL) http://etherboot.org Drivers: VIRTIO-NET Images: NBI ELF PXE Exports: PXE Protocols: DHCP TFTP Relocating _text from: [00087780,0009f310) to [07ee8470,07f00000) Boot from (N)etwork or (Q)uit? Probing pci nic... Probing isa nic... Boot from (N)etwork or (Q)uit? Probing pci nic... [virtio-net]I/O address 0x0000c020, IRQ #11 MAC address 52:54:00:12:34:56 Searching for server (DHCP).... ちょっと待つと、いつもの真っ黒画面の真ん中に 640 x 480 Graphic mode 何度も書いている内に覚えたエコーバックないけど ''[スペース] linux text'' 更に覚えられず F8 見ながら install vga=normal fb=false。さくさくっと進ん で debian アーカイブミラー選択の下記画面になったら、一番上 ====== [!] Choose a mirror of the Debian archive ====== = = = The goal is to find a mirror of the Debian archive that is close to = = you on the network -- be aware that nearby countries, or even your = = own, may not be the best choice. = = = = Debian archive mirror country: = = = = enter information manually = = = Argentina = = = Australia = = = Austria = = = Bangladesh = = = Belarus = = = Belgium = = = Bosnia and Herzegovina = = = Brazil = = = Bulgaria = = = = = = = = ========================= enter information manually を選択すると、こんな画面 ===== [!!] Choose a mirror of the Debian archive ===== = = = = Please enter the hostname of the mirror from which Debian will be = = downloaded. = = = = An alternate port can be specified using the standard = = [hostname]:[port] format. = = = = Debian archive mirror hostname: = = = = mirror____________________________________________________________ = = = = = = = ======================= この mirror hostname: に上の例であれば 192.168.0.17:3142 として Continue。長くなるので省略しちゃうけど、次の画面の Debian archive mirror directory: を /ftp.uni-kl.de/debian として Continue。更に次の proxy は何もせず Continue で OK。一回目は取りに行っちゃ うけど、二回目以降は確認しに行くだけなので、速くなる...ハズ

0 件のコメント: