Ben NanoNoteをバージョンアップ

最近あまり動きがなかったBen NanoNote

Nano Noteがどんなのかというと・・・

・2年ぐらい前に$99で買えるLinuxパームトップ機!として話題に
・物理キーボードあり、タッチパネル無し
・CPUにJz4720 336MHz使用。
・メモリは32MBしかないので、そこそこの動作しかしない。

で、そんな感じのBen Nano Noteですが、最新版の2011年11月13日版でいろいろ面白い変更が取り込まれていました。

最大の変更は、Linux kernelがver 3.0(前はver 2.6.37.6だった)になったということ。
そして、IEEE 802.15.4を利用したWPANの取り込み。

さて、アップデートですが、うちの環境では、以前はUbuntuノートを使ってアップデートしていたのですが、現在そのパソコンが稼働してないので、CentOS5のサーバを使ってアップデート。

まずは、firmwareをダウンロードしておくか、とNanoNoteをつながない状態でreflash_ben.shを実行。

# wget http://downloads.qi-hardware.com/software/images/NanoNote/Ben/reflash_ben.sh
--2011-11-24 14:40:37--  http://downloads.qi-hardware.com/software/images/NanoNote/Ben/reflash_ben.sh
downloads.qi-hardware.com をDNSに問いあわせています... 88.198.75.224
downloads.qi-hardware.com|88.198.75.224|:80 に接続しています... 接続しました。
HTTP による接続要求を送信しました、応答を待っています... 302 Found
場所: http://projects.qi-hardware.com/index.php/p/openwrt-packages/source/file/master/nanonote-files/data/qi_lb60/scripts/reflash_ben.sh [続く]
--2011-11-24 14:40:37--  http://projects.qi-hardware.com/index.php/p/openwrt-packages/source/file/master/nanonote-files/data/qi_lb60/scripts/reflash_ben.sh
projects.qi-hardware.com をDNSに問いあわせています... 88.198.75.224
downloads.qi-hardware.com:80 への接続を再利用します。
HTTP による接続要求を送信しました、応答を待っています... 200 OK
長さ: 7310 (7.1K) [application/x-sh]
`reflash_ben.sh' に保存中

100%[==========================================>] 7,310       26.2K/s 時間 0.3s

2011-11-24 14:40:38 (26.2 KB/s) - `reflash_ben.sh' へ保存完了 [7310/7310]

# chmod a+x reflash_ben.sh
# ./reflash_ben.sh
working dir:      /root/.qi/nanonote/ben/latest
chosen method:    http http://downloads.qi-hardware.com/software/images/NanoNote/Ben
chosen version:   latest
===
present files are identical to the ones on the server - do not download them again
booting device...
usbboot: error while loading shared libraries: libconfuse.so.0: cannot open shared object file: No such file or directory
===
fatal error occured - ABORTED
===
can't boot device - xburst-tools setup correctly? device in boot-mode? device connected?
===
Before reporting this as a bug
Please ensure you're using the latest available version of this reflash script
http://downloads.qi-hardware.com/software/images/NanoNote/Ben/reflash_ben.sh
#

あ~、libconfuseなんて入れてないよな・・・と「yum install libconfuse」追加。
ちなみに、他にも、/root/.qi だと/パーテーションを圧迫しちゃってるので、.qiディレクトリを他のパーテーションにシンボリックリンクで逃がしたりしています。

つなげて、NanoNoteの「U」キーを押しながら電源を入れて、reflash_ben.shを実行…

# ./reflash_ben.sh
working dir:      /root/.qi/nanonote/ben/latest
chosen method:    http http://downloads.qi-hardware.com/software/images/NanoNote/Ben
chosen version:   latest
===
present files are identical to the ones on the server - do not download them again
booting device...
clean bootloader env data ...
flashing bootloader...
Done:  2/2
[########################################################################################]
flashing kernel...
Done:  4/4
[########################################################################################]
===
fatal error occured - ABORTED
===
error while flashing kernel:
Error - can't read bulk data from Ingenic device:-110
===
Before reporting this as a bug
Please ensure you're using the latest available version of this reflash script
http://downloads.qi-hardware.com/software/images/NanoNote/Ben/reflash_ben.sh
#

失敗・・・

# usbboot
usbboot - Ingenic XBurst USB Boot Utility
(c) 2009 Ingenic Semiconductor Inc., Qi Hardware Inc., Xiangfu Liu, Marek Lindner
This program is Free Software and comes with ABSOLUTELY NO WARRANTY.

Now checking whether all configure args valid: YES
Current device information:
CPU type is Ingenic XBurst Jz4740
Crystal work at 12MHz, the CCLK up to 252MHz and PMH_CLK up to 84MHz
SDRAM Total size is 32 MB, work in 4 bank and 16 bit mode
Nand page per block 128, Nand page size 4096, ECC offset in OOB 12, bad block offset in OOB 0, bad block page 127, use 1 plane mode
usbboot :> exit
 exiting usbboot software
#

usbbootコマンドで接続してみると、それなりに動いていそう。

じゃぁ、手動でアップデートしてみるか・・・ということで、手順を見ながらやってみる。

# usbboot
usbboot - Ingenic XBurst USB Boot Utility
(c) 2009 Ingenic Semiconductor Inc., Qi Hardware Inc., Xiangfu Liu, Marek Lindner
This program is Free Software and comes with ABSOLUTELY NO WARRANTY.

Now checking whether all configure args valid: YES
Current device information:
CPU type is Ingenic XBurst Jz4740
Crystal work at 12MHz, the CCLK up to 252MHz and PMH_CLK up to 84MHz
SDRAM Total size is 32 MB, work in 4 bank and 16 bit mode
Nand page per block 128, Nand page size 4096, ECC offset in OOB 12, bad block offset in OOB 0, bad block page 127, use 1 plane mode
usbboot :> boot
 CPU data: Boot4740
 Already booted.
usbboot :> nerase 0 4096 0 0
 CPU data: Boot4740
 Erasing No.0 device No.0 flash (start_blk 0 blk_num 4096)......
 Finish! Return: 00 00 08 00 00 00 00 00 (position 4096)
 Force erase, no bad block infomation!
usbboot :> nprog 0 /root/.qi/nanonote/ben/latest/openwrt-xburst-qi_lb60-u-boot.bin 0 0 -n
 Programing No.0 device, flen 617312, start page 0...
 CPU data: Boot4740
 Erasing No.0 device No.0 flash (start_blk 0 blk_num 2)......
 Finish! Return: 00 01 00 00 00 00 00 00 (position 2)
 Force erase, no bad block infomation!
 Size to send 617312, transfer_size 524288
 Image type : without oob
 It will cause 2 times buffer transfer.
 Writing NAND page 0 len 524288...
 CPU data: Boot4740
 Finish! (len 524288 start_page 0 page_num 128)
 Checking 524288 bytes... no check! End at Page: 128
 Writing NAND page 128 len 94208...
 CPU data: Boot4740
 Finish! (len 94208 start_page 128 page_num 23)
 Checking 94208 bytes... Comparing 94208 bytes - SUCCESS
 End at Page: 151
usbboot :> nprog 1024 /root/.qi/nanonote/ben/latest/openwrt-xburst-qi_lb60-uImage.bin 0 0 -n
 Programing No.0 device, flen 2087718, start page 1024...
 CPU data: Boot4740
 Erasing No.0 device No.0 flash (start_blk 8 blk_num 4)......
 Finish! Return: 00 06 00 00 00 00 00 00 (position 12)
 Force erase, no bad block infomation!
 Size to send 2087718, transfer_size 524288
 Image type : without oob
 It will cause 4 times buffer transfer.
 Writing NAND page 1024 len 524288...
 CPU data: Boot4740
 Finish! (len 524288 start_page 1024 page_num 128)
 Checking 524288 bytes... Comparing 524288 bytes - SUCCESS
 End at Page: 1152
 Writing NAND page 1152 len 524288...
 CPU data: Boot4740
 Finish! (len 524288 start_page 1152 page_num 128)
 Checking 524288 bytes... Comparing 524288 bytes - SUCCESS
 End at Page: 1280
 Writing NAND page 1280 len 524288...
 CPU data: Boot4740
 Finish! (len 524288 start_page 1280 page_num 128)
 Checking 524288 bytes... Comparing 524288 bytes - SUCCESS
 End at Page: 1408
 Writing NAND page 1408 len 516096...
 CPU data: Boot4740
 Finish! (len 516096 start_page 1408 page_num 126)
 Checking 516096 bytes... Comparing 516096 bytes - SUCCESS
 End at Page: 1534
usbboot :> nprog 2048 /root/.qi/nanonote/ben/latest/openwrt-xburst-qi_lb60-uImage.bin 0 0 -n
 Programing No.0 device, flen 2087718, start page 2048...
 CPU data: Boot4740
 Erasing No.0 device No.0 flash (start_blk 16 blk_num 4)......
 Finish! Return: 00 0a 00 00 00 00 00 00 (position 20)
 Force erase, no bad block infomation!
 Size to send 2087718, transfer_size 524288
 Image type : without oob
 It will cause 4 times buffer transfer.
 Writing NAND page 2048 len 524288...
 CPU data: Boot4740
 Finish! (len 524288 start_page 2048 page_num 128)
 Checking 524288 bytes... Comparing 524288 bytes - SUCCESS
 End at Page: 2176
 Writing NAND page 2176 len 524288...
 CPU data: Boot4740
 Finish! (len 524288 start_page 2176 page_num 128)
 Checking 524288 bytes... Comparing 524288 bytes - SUCCESS
 End at Page: 2304
 Writing NAND page 2304 len 524288...
 CPU data: Boot4740
 Finish! (len 524288 start_page 2304 page_num 128)
 Checking 524288 bytes... Comparing 524288 bytes - SUCCESS
 End at Page: 2432
 Writing NAND page 2432 len 516096...
 CPU data: Boot4740
 Finish! (len 516096 start_page 2432 page_num 126)
 Checking 516096 bytes... Comparing 516096 bytes - SUCCESS
 End at Page: 2558
usbboot :>

あれ?手順に時間がかかるってあるのにすぐに終わったのはなぜ?
と確認してみると指定するファイルを間違えている・・・

usbboot :> nprog 2048 /root/.qi/nanonote/ben/latest/openwrt-xburst-qi_lb60-root.ubi 0 0 -n
 not enough argument.
 Usage: nprog (1) (2) (3) (4) (5)
 (1)    start page number
 (2)    image file name
 (3)    device index number
 (4)    flash index number
 (5) image type must be:
        -n:     no oob
        -o:     with oob no ecc
        -e:     with oob and ecc
usbboot :>

正しいファイルにして再実行してもエラー。

その後、どうにもうまくいかないので一度usbbootを終了して、再実行。

# usbboot
usbboot - Ingenic XBurst USB Boot Utility
(c) 2009 Ingenic Semiconductor Inc., Qi Hardware Inc., Xiangfu Liu, Marek Lindner
This program is Free Software and comes with ABSOLUTELY NO WARRANTY.

Now checking whether all configure args valid: YES
Current device information:
CPU type is Ingenic XBurst Jz4740
Crystal work at 12MHz, the CCLK up to 252MHz and PMH_CLK up to 84MHz
SDRAM Total size is 32 MB, work in 4 bank and 16 bit mode
Nand page per block 128, Nand page size 4096, ECC offset in OOB 12, bad block offset in OOB 0, bad block page 127, use 1 plane mode
usbboot :> boot
 CPU data: Boot4740
 Already booted.
usbboot :> nerase 0 4096 0 0
 CPU data: Boot4740
 Erasing No.0 device No.0 flash (start_blk 0 blk_num 4096)......
 Finish! Return: 00 00 08 00 00 00 00 00 (position 4096)
 Force erase, no bad block infomation!
usbboot :> nprog 0 /root/.qi/nanonote/ben/latest/openwrt-xburst-qi_lb60-u-boot.bin 0 0 -n
 Programing No.0 device, flen 617312, start page 0...
 CPU data: Boot4740
 Erasing No.0 device No.0 flash (start_blk 0 blk_num 2)......
 Finish! Return: 00 01 00 00 00 00 00 00 (position 2)
 Force erase, no bad block infomation!
 Size to send 617312, transfer_size 524288
 Image type : without oob
 It will cause 2 times buffer transfer.
 Writing NAND page 0 len 524288...
 CPU data: Boot4740
 Finish! (len 524288 start_page 0 page_num 128)
 Checking 524288 bytes... no check! End at Page: 128
 Writing NAND page 128 len 94208...
 CPU data: Boot4740
 Finish! (len 94208 start_page 128 page_num 23)
 Checking 94208 bytes... Comparing 94208 bytes - SUCCESS
 End at Page: 151
usbboot :> nprog 1024 /root/.qi/nanonote/ben/latest/openwrt-xburst-qi_lb60-uImage.bin 0 0 -n
 Programing No.0 device, flen 2087718, start page 1024...
 CPU data: Boot4740
 Erasing No.0 device No.0 flash (start_blk 8 blk_num 4)......
 Finish! Return: 00 06 00 00 00 00 00 00 (position 12)
 Force erase, no bad block infomation!
 Size to send 2087718, transfer_size 524288
 Image type : without oob
 It will cause 4 times buffer transfer.
 Writing NAND page 1024 len 524288...
 CPU data: Boot4740
 Finish! (len 524288 start_page 1024 page_num 128)
 Checking 524288 bytes... Comparing 524288 bytes - SUCCESS
 End at Page: 1152
 Writing NAND page 1152 len 524288...
 CPU data: Boot4740
 Finish! (len 524288 start_page 1152 page_num 128)
 Checking 524288 bytes... Comparing 524288 bytes - SUCCESS
 End at Page: 1280
 Writing NAND page 1280 len 524288...
 CPU data: Boot4740
 Finish! (len 524288 start_page 1280 page_num 128)
 Checking 524288 bytes... Comparing 524288 bytes - SUCCESS
 End at Page: 1408
 Writing NAND page 1408 len 516096...
 CPU data: Boot4740
 Finish! (len 516096 start_page 1408 page_num 126)
 Checking 516096 bytes... Comparing 516096 bytes - SUCCESS
 End at Page: 1534
usbboot :> nprog 2048 /root/.qi/nanonote/ben/latest/openwrt-xburst-qi_lb60-root.ubi 0 0 -n
 not enough argument.
 Usage: nprog (1) (2) (3) (4) (5)
 (1)    start page number
 (2)    image file name
 (3)    device index number
 (4)    flash index number
 (5) image type must be:
        -n:     no oob
        -o:     with oob no ecc
        -e:     with oob and ecc
usbboot :>

何が間違ってるんだ???

ためしに、いまいるディレクトリに「openwrt-xburst-qi_lb60-root.ubi」をおいて再実行したら、ちゃんと動き始めた・・・

usbboot :> nprog 2048 openwrt-xburst-qi_lb60-root.ubi 0 0 -n
 Programing No.0 device, flen 423624704, start page 2048...
 CPU data: Boot4740
 Erasing No.0 device No.0 flash (start_blk 16 blk_num 808)......
 Finish! Return: 00 9c 01 00 00 00 00 00 (position 824)
 Force erase, no bad block infomation!
 Size to send 423624704, transfer_size 524288
 Image type : without oob
 It will cause 808 times buffer transfer.
 Writing NAND page 2048 len 524288...
 CPU data: Boot4740
 Finish! (len 524288 start_page 2048 page_num 128)
 Checking 524288 bytes... Comparing 524288 bytes - SUCCESS
 End at Page: 2176
 Writing NAND page 2176 len 524288...
 CPU data: Boot4740
 Finish! (len 524288 start_page 2176 page_num 128)
 Checking 524288 bytes... Comparing 524288 bytes - SUCCESS
 End at Page: 2304
 Writing NAND page 2304 len 524288...
<略>
 Writing NAND page 105216 len 524288...
 CPU data: Boot4740
 Finish! (len 524288 start_page 105216 page_num 128)
 Checking 524288 bytes... Comparing 524288 bytes - SUCCESS
 End at Page: 105344
 Writing NAND page 105344 len 524288...
 CPU data: Boot4740
 Finish! (len 524288 start_page 105344 page_num 128)
 Checking 524288 bytes... Comparing 524288 bytes - SUCCESS
 End at Page: 105472
usbboot :> exit
 exiting usbboot software
#

で、USBケーブルをはずして、電源長押しして、再投入。

起動時のロゴが変わった!
ブートが早くなった!

・・・gmenu2xのキー操作がよくわからない^^;;;;;
「L」キーで一番上のメニューが右に動く、というのはわかるんですが、それ以外の動作が・・・

とりあえずは、アップデートできた、ということでよしとするかな。

courier-imapをアップデートしようと思ったら・・・

今使っているqmail+vpopmail+courier-imapを最新版にしようと、依存性とか確認してみた。

すると・・・courier-imapが内部的に使う認証モジュールcourier-authlibにて問題発生。
現状は「0.63.0」ですが、「0.60.4よりvchkpwモジュールが削除」とのこと・・・
vchkpwモジュールというのがvpopmailと連動するためのモジュールなのでアップデート不可。

・・・・・・・・そういえば、そうでした。
すっかり忘れていましたよ^^;;;

しっかし、そうなると、代替策をどうするかなぁ・・・
LDAPモジュール or mysqlモジュールを使うようにいろいろシステム変更をする、ということになるのかな

既存のOpenVZテンプレートのファイルをアップデートする

OpenVZで作成されたテンプレートを更新する。

参考: OpenVZ wiki: Updating Debian template

1. OpenVZの仮想ホストを作成

# vzctl create VID番号 --ostemplate テンプレート名

上記のテンプレート名は/var/lib/vz/template/cache/ にあるtar.gzファイルの名前を使用する。

実行例

# vzctl create 555 --ostemplate scientific-6-standard_6.0_i386
Creating container private area (scientific-6-standard_6.0_i386)
Performing postcreate actions
Saved parameters for CT 555
Container private area was created
#

2014/11/27 追記

/etc/vz/vz.confの設定によっては下記の様に、パラメータが足らないというエラーがでます。

# vzctl create 555 --ostemplate centos-6-standard_6.0-20121116_i386
Creating container private area (centos-6-standard_6.0-20121116_i386)
Initializing quota ...
Error: Not enough parameters, diskspace quota not set
Creation of container private area failed
#

/etc/vz/vz.confに下記のようにDISKSPACE設定とDISKINODES設定を追加することで、回避できます。

DISKSPACE="20G:22G"
DISKINODES="4000000:4400000"

(バージョンによってはvzctl createオプションでdiskspaceは指定できても、diskinodesが指定できない

2014/11/27 追記終


2. 仮想ホストにIPアドレスとDNSサーバを指定する

# vzctl set VID番号 --ipadd IPアドレス --nameserver DNSサーバIP --save

実行例

# vzctl set 555 --ipadd 192.168.x.x --nameserver 192.168.x.x --save
Saved parameters for CT 555
#

3. 仮想マシンを稼働させる

# vzctl start 555
Starting container ...
Container is mounted
Adding IP address(es): 192.168.35.240
Setting CPU units: 1000
File resolv.conf was modified
Container start in progress...
#

2014/11/27 追記

バージョンによっては、以下のようなエラーとなる場合がある。

# vzctl start 555
Error: required UB parameter kmemsize not set
Error: required UB parameter lockedpages not set
Error: required UB parameter privvmpages not set
Error: required UB parameter shmpages not set
Error: required UB parameter numproc not set
Error: required UB parameter physpages not set
Error: required UB parameter vmguarpages not set
Error: required UB parameter oomguarpages not set
Error: required UB parameter numtcpsock not set
Error: required UB parameter numflock not set
Error: required UB parameter numpty not set
Error: required UB parameter numsiginfo not set
Error: required UB parameter tcpsndbuf not set
Error: required UB parameter tcprcvbuf not set
Error: required UB parameter othersockbuf not set
Error: required UB parameter dgramrcvbuf not set
Error: required UB parameter numothersock not set
Error: required UB parameter numfile not set
Error: required UB parameter dcachesize not set
Error: required UB parameter numiptent not set
#

この場合は、/etc/vz/conf/に作成されている該当CIDの.confファイルに下記のエントリーを追記しておくといい。

PHYSPAGES="0:1024M"
SWAPPAGES="0:512M"
KMEMSIZE="465M:512M"
DCACHESIZE="232M:256M"
LOCKEDPAGES="512M"
PRIVVMPAGES="unlimited"
SHMPAGES="unlimited"
NUMPROC="unlimited"
VMGUARPAGES="0:unlimited"
OOMGUARPAGES="0:unlimited"
NUMTCPSOCK="unlimited"
NUMFLOCK="unlimited"
NUMPTY="unlimited"
NUMSIGINFO="unlimited"
TCPSNDBUF="unlimited"
TCPRCVBUF="unlimited"
OTHERSOCKBUF="unlimited"
DGRAMRCVBUF="unlimited"
NUMOTHERSOCK="unlimited"
NUMFILE="unlimited"
NUMIPTENT="unlimited"

2014/11/27 追記終


4. 仮想マシンにログインする

# vzctl enter 555
entered into CT 555
[root@ホスト名 /]#

5. yum updateを実施

# yum update
sl                                                       | 3.2 kB     00:00
sl/primary_db                                            | 3.1 MB     00:12
sl-security                                              | 1.9 kB     00:00
sl-security/primary_db                                   | 5.8 MB     00:12
Setting up Update Process
Resolving Dependencies
<略>
Transaction Summary
================================================================================
Install       0 Package(s)
Upgrade      32 Package(s)

Total download size: 46 M
Is this ok [y/N]: y
Downloading Packages:
<略>
  tzdata.noarch 0:2011h-3.el6

Complete!
[root@ns5 /]#

6. 追加したい設定があったらやっとく
・phpをインストール
・/etc/php.iniに「date.timezone = Asia/Tokyo」の設定を追加
・「ln -s /usr/share/zoneinfo/Asia/Tokyo /etc/localtime」
・/etc/sysconfig/i18nに「LANG=”ja_JP.UTF-8″」を追加

7. 掃除

# yum clean all
Cleaning up Everything
# echo > /etc/resolv.conf
#

8. 仮想ホストの停止

# vzctl stop 555
Stopping container ...
Container was stopped
Container is unmounted
#

9. 仮想ホストからIPアドレス設定を削除

# vzctl set 555 --ipdel all --save
Saved parameters for CT 555
#

10. 仮想ホストのファイルが展開されている場所に移動

# cd /var/lib/vz/private/555
#

11. テンプレートとしてtar.gzファイルを作成

#  tar --numeric-owner -czf /var/lib/vz/template/cache/scientific-6-standard_6.0-20111026_i386.tar.gz .
#

なお、ファイル名は重要。

「ディストリビューション名」-「ディストリビューションのバージョン」-「カスタマイズ説明」_「カスタマイズのバージョン」_「アーキテクチャ」.tar.gz

という書式で指定する。
そうしないと、Proxmoxでは、テンプレートとして指定できない。

12. 使用した仮想マシンの削除

# vzctl destroy 555
Destroying container private area: /var/lib/vz/private/555
Container private area was destroyed
#

13. /etc/vz/conf/に残る仮想マシンの設定ファイルを削除

# rm /etc/vz/conf/555.conf.destroyed
#

muninで作ったrrdデータを個別にグラフ化

muninというリソースモニタリングプログラムシステム。
このシステムは、取得したデータをRRDtoolを利用して保存し、グラフ化しています。

これで取得したデータを、個別でグラフ化したいと思って、探したところ、以下の様な感じになりました。

# /usr/bin/rrdtool graph /home/osakanataro/web/nise/load.png --imgformat=PNG --start=-86400 --end=-300 --base=1000 --height=100 --width=200 --upper-limit=5 --title="負荷状況" DEF:load="/var/lib/munin/localhost/localhost-load-load-g.rrd":42:AVERAGE CDEF:ok=load,2.0,GT,UNKN,load,IF CDEF:ng=load,2.0,GT,load,UNKN,IF HRULE:2.0#0000FF AREA:ok#00CF00 AREA:ng#FF0000

これで作成したグラフは↓です。

ロードアベレージの推移を見たい、という感じのグラフです。
これを作った当初はload averageが5ぐらいに行くことがあったので、5を最大(–upper-limit=5)としています。

Proxmox上のOpenVZ仮想マシンのバックアップ

Proxmox VEにはOpenVZ仮想マシンのバックアップを容易に取れるように、専用ツールvzdumpが用意されている。
このvzdumpは、OpenVZのwikiにも掲載されているぐらいの便利ツールのようです。

vzdumpでバックアップを行うと、各仮想マシンごとにtarファイルができあがります。

さて、このバックアップファイルを、Proxmoxサーバ内部に残しておくとバックアップの意味がないので、外部サーバに転送しましょう。
NFSでマウントした先にコピーというのが一番簡単なやりかたですが、安いNASだとNFSに対応していない場合があります。

まぁ、具体的にはLinkStationをバックアップ先にしたいです。
この場合、CIFS、ftp、そして、rsync(LinkStationは「バックアップ」と呼ばれている)で転送することができますが、無難なあたりでftpで転送する、とします。

そんなスクリプトを作りました

仕様
・ftpサーバに指定ユーザ・パスワードでログインする
・バックアップは10世代保存とする。
・起動中の仮想マシンのみバックアップする
・Proxmoxサーバ内にバックアップイメージを作成するが、容量が少なく済むように1個ずつ実施する
・lftpを使ってアップロードするので、「aptitude install lftp」でインストールしておく

#!/bin/bash
# vzdump and ftp upload script
#
DUMPDIR="/work"
UPLOADDIR="/disk1/backup/dump"

FTPHOST="IPアドレス"
FTPUSER="ユーザ名"
FTPPASSWORD="パスワード"

cd $DUMPDIR
vzlist > vzlist.log

# create upload directory
lftp -c "open -u $FTPUSER,$FTPPASSWORD $FTPHOST
mkdir $UPLOADDIR/transfer"


# dump and upload virtual machine
# "vzlist -1" : dump active VM only
# "vzlist -a -1": dump all VM
# "vzlist -S -1": dump standby VM only
for hostid in `vzlist -1`
do
	echo $hostid;
	cd $DUMPDIR
	vzdump --dumpdir $DUMPDIR $hostid
	lftp -c "open -u $FTPUSER,$FTPPASSWORD $FTPHOST
cd $UPLOADDIR/transfer
mput -E *.tar *.log"
done

# lotate
lftp -c "open -u $FTPUSER,$FTPPASSWORD $FTPHOST
cd $UPLOADDIR
rm -r daily.9
mv daily.8 daily.9
mv daily.7 daily.8
mv daily.6 daily.7
mv daily.5 daily.6
mv daily.4 daily.5
mv daily.3 daily.4
mv daily.2 daily.3
mv daily.1 daily.2
mv daily.0 daily.1
mv transfer daily.0"

上記スクリプトは毎日夜間に実行するつもりのものなので、NetAppライクに「daily.数字」という感じでディレクトリを作成しています。