LoginSignup
4
0

More than 5 years have passed since last update.

さくらのクラウドのアーカイブを高速にダウンロード&アップロードする方法

Last updated at Posted at 2018-09-07

アーカイブのゾーン間コピーができない!?

北海道で発生した地震の影響で停電が発生し、現在さくらインターネットの石狩データセンターでは、自家発電装置で給電が行われています。しかし燃料が切れるのは時間の問題です。停止を避けるために石狩ゾーンから東京ゾーンにサーバーを移動しようとしている人も多いと思いますが、混雑しているのか、ゾーン間でのアーカイブのコピーでエラーが発生しています。
(※この記事は復旧していない事を前提に書いてます)

そこでさくらが提供しているアーカイブのゾーン間コピーの機能を使わずに、FTPSを使って転送する方法を考えてみました。

アーカイブのゾーン間コピーの流れ

石狩:アーカイブを作成
 ↓
どこか:アーカイブを石狩からダウンロード
 ↓
どこか:アーカイブを東京へアップロード
 ↓
東京:アーカイブからディスクを作成
 ↓
東京:サーバーに接続

ネットが遅いときは?

アーカイブはFTPSでダウンロード/アップロードができますが、プロバイダーの回線経由で何百GBものアーカイブをダウンロードするのは非常に困難です。そこで、さくらのクラウド内に、「ファイル置き場」とするサーバーを立てます。私はCentOS 7で行いました。(6だとlftpがうまくいかなかった)

さくらのクラウドはネットワークが標準では100Mbpsですが、スイッチ+ルーターを追加することで100Mbps〜3000Mbpsまで選べます。お値段も結構しますので、ファイルを転送するときだけ1000Mpbsにする、みたいな感じですかね。

最初にスイッチを作成して、ルーターを有効にします。
次にファイル置き場となるサーバーを作成し、NICの接続先をこのスイッチにします。これで高速にダウンロード/アップロードができるようになりました。

アーカイブのダウンロード

ファイルはSFTPで転送しますので、curlやlftpを使います。私はcurlでやりました。

設定ファイル .lftprc
set ftp:ssl-auth TLS
set ftp:ssl-force true
set ftp:ssl-allow yes
set ftp:ssl-protect-list yes
set ftp:ssl-protect-data yes
set ftp:ssl-protect-fxp yes
set ssl:verify-certificate no
download.sh
#!/bin/bash
DLFILE=archive.img
echo "Download from Sakura archive"
echo -n "Host name? " ; read SERVER
echo -n "User name? " ; read USER
echo -n "Password? "  ; read PASS
curl -u $USER:$PASS --ftp-ssl --ftp-pasv -k --compressed \
  ftp://$SERVER:21/$DLFILE -o $DLFILE

アーカイブのアップロード

curlでやると途中で止まってしまうので、lftpを使いました。

$ lftp
> open ホスト -p 21 -u ユーザー名
Password: 
> put archive.img

この方法で試したところ、50〜70MB/sで転送できました。
さすがに速いですね!

ちなみにcurlでアップロードするスクリプトはこんな感じです。(なぜか途中で止まる)

upload.sh
#!/bin/bash
UPFILE=archive.img
echo "Upload to Sakura archive"
echo -n "Host name? " ; read SERVER
echo -n "User name? " ; read USER
echo -n "Password? "  ; read PASS
curl -u $USER:$PASS --ftp-ssl --ftp-pasv -k --compressed \
  -T $UPFILE ftp://$SERVER:21/
4
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
4
0