さくらクラウドでルートパーティションの容量を拡張する方法
追記:この手順を実施する場合の注意を記事中下部に追加しました。
あけましておめでとうございます。
訳あってさくらクラウドを使うことになりました。
250Gのディスクを選択してVMを作成したのだけど、さくらが用意したCentOSのイメージ「[public] 20GB CentOS 6.6 64bit (基本セット)」で起動したらOS上で20Gしか認識されていない…。
それもそのはずで、OSイメージは20Gを前提に作成されたものでした。
別途「100G」というのも用意されていたのですが、今回は250Gにしたかったのでなんとか拡張してみました。
(クリティカルな操作なので自己責任で、バックアップ必須!)
VM作成
- 普通にVM作成
- ディスクソース : [アーカイブ(簡単)]
- アーカイブ選択 : [public] 20GB CentOS 6.6 64bit (基本セット)
- ディスクサイズ : [20G]
- 作成後すぐに起動 : [しない]
追加ディスクの作成(本命ディスク)
- 管理画面 [ストレージ] -> [追加]押下
- 以下設定
- ティスクソース : [ブランク]
- ディスクサイズ : [250GB]
- 名前 : 「testvm-250G」
- [作成]押下
拡張作業
- 管理画面 [サーバ] -> 該当VMを選択 -> [詳細] -> [ディスク] -> [接続]押下
- [testvm-250G]を選択して[更新]
- 接続#1に元の[testvm]、接続#2に[testvm-250G]が接続されているのを確認する
- VM起動
- 以下コマンド実行
### 起動ドライブはvda、追加したドライブがvdbとして認識されている # ls /dev/vd* /dev/vda /dev/vda1 /dev/vda2 /dev/vdb ### 中身をコピー(3分半程度、速い…!) # dd if=/dev/vda of=/dev/vdb bs=512M ### パーティションの拡張 # parted /dev/vdb (parted) unit s (parted) print Model: Virtio Block Device (virtblk) Disk /dev/vdb: 524288000s Sector size (logical/physical): 512B/512B Partition Table: gpt Number Start End Size File system Name Flags 1 64s 8400487s 8400424s linux-swap(v1) primary 2 8400488s 41943006s 33542519s ext4 primary boot (parted) rm 2 (parted) mkpart primary 8400488s -1s # ※途中パーティションを修復するか聞いてくるので、F(Fix)を選択する # ※警告が出てきてもyes/Ignoreを選択して進む (parted) print Model: Virtio Block Device (virtblk) Disk /dev/vdb: 268GB Sector size (logical/physical): 512B/512B Partition Table: gpt Number Start End Size File system Name Flags 1 32.8kB 4301MB 4301MB linux-swap(v1) primary 2 4301MB 268GB 264GB ext4 primary (parted) quit # e2fsck -f /dev/vdb2 # resize2fs /dev/vdb2
一旦パーティションを削除して(!)、再度より大きいパーティションを作るというのがキモですね。こんな事して大丈夫なんですねえ。。
元ディスクをVMから外す、動作確認
- 該当VMをシャットダウン
- 管理画面 [サーバ] -> 該当VMを選択 -> [詳細] -> [ディスク] -> [接続]押下
- 元ディスク(接続#1)の▼を選択して[取外し]
- 該当VM起動
- 容量が増えてるか確認
- 必要なければ元のディスクは削除
[root@testvm ~]# df -h Filesystem Size Used Avail Use% Mounted on /dev/vda2 243G 1.4G 229G 1% / tmpfs 499M 0 499M 0% /dev/shm
参考
http://knowledge.sakura.ad.jp/tech/925/
http://ubuntuforums.org/showthread.php?t=1389429
一応参考サイトと違うのは、参考サイトはMBRでパーティションが切られているのでfdiskで作業していましたが、CentOS6のイメージだとGPTでパーティションを切っていたため、partedで作業しました。
最初参考サイトを見て、もうちょっとマシな方法がないかと調べたのですが結局この方法となりました。 なんかもうちょっといい方法はないものでしょうかねえ。。
さくらクラウドについて思ったこと
- さくらVPSと比べると割高
- さくらVPSが優秀過ぎる
- とはいえさくらVPSはスケールアップができないのでその点は安心感がある
- さくらVPSとローカルネットワークが繋がれば最高だけど戦略上しなそう
- 石狩第一内のVPSとクラウド(グローバルIP)間の通信はほぼ理論値通り(100Mbps)出た
追記 2015.2.2
この手順ではデータ不整合となる可能性について指摘を受けました。
よく見ると参考サイトのさくらナレッジでも下部に追記がありました(^^;;;
以下引用
[※編集部追記:本手順の際、ファイルシステムをマウント中のまま dd するとコピー先で不整合が発生する可能性があるため、レスキューモードもしくはシングルユーザーモードで実行ください]
確かに起動中のパーティションをddでコピーする場合、作業中に他のプロセスがディスクを書き込む可能性があるため、データ整合性を保証できない可能性があります。私は検証環境として手軽に用意したかったので問題ないですが、ミッションクリティカルな用途の場合は正攻法で行ったほうがいいと思います。
sshを繋ぎっぱなしにするautossh for mac
sshって結構切れます。 特に一定時間何もコマンドを打っていなかったり、画面に変化がないようなアイドル時間が一定以上続くと切れます。 sshをトンネリングで使っていると切れると困るので、切れても自動で再接続してくれるようにしましょう。
まずはHomebrewでautosshをインストール。
$ brew install autossh
あとは以下のコマンドを打つだけ。
$ autossh -f -M 0 -N -D 1080 -o "ServerAliveInterval 45" -o "ServerAliveCountMax 2" user@host
簡単にオプションについて
-f バックグラウンドで動かす
-M 0 よくわからんのでおまじない的
autosshの他、以下のように透過的にsshのオプションを指定できる
-N シェルを使わない
-D 指定ポートでSocks5として振る舞う autosshを使う最大の目的
-o sshのパラメータを指定 詳細は以下
ServerAliveInterval 45 切断防止のため、指定秒数間隔で応答確認をする
ServerAliveCountMax 2 指定回数応答がない場合は切断する(その場合autosshが再接続する)
autosshの終了
$ killall autossh
macにhomebrewでPHP5.6環境をインストールしてみる
してみました。
環境はYosemite(10.10)なのですが、OS標準だとPHP5.5のようです。 Homebrewを使い、PHP5.6を使えるようにします。
なお、Homebrewは入っている前提とします。
事前にXCode(現時点で最新6.1)をインストールし、以下コマンドを実行しておきます。
$ xcode-select --install
brewを最新の状態にします
$ brew update $ brew upgrade
必要なレポジトリを追加します
$ brew tap homebrew/php $ brew tap homebrew/dupes
以下コマンドでPHP5.6をインストールします 尚、apacheはOS標準のものを使いました
$ brew install php56 --with-apxs2=/usr/sbin/apxs
これでコマンド上からPHP5.6が使えるはずです
$ php -v PHP 5.6.3 (cli) (built: Nov 27 2014 22:30:22) Copyright (c) 1997-2014 The PHP Group Zend Engine v2.6.0, Copyright (c) 1998-2014 Zend Technologies
ApacheからPHP5.6を使うように書き換えます(/etc/httpd/conf/httpd.conf)
LoadModule php5_module /usr/local/opt/php56/libexec/apache2/libphp5.so
Apache経由でphpinfo()を表示させると、PHP5.6が動いているのが確認できました
参考
postfixのメールキューを書き換える
注:最終的には諦めてますので有用な情報はそれほどありません
最近のメールサーバーは大体、senderにちゃんと正引きできるドメインが設定されていないと受信拒否されてしまいます。 こちらからメール送信する際、hostnameの設定をしないでメール送信をしてしまい、senderが「xxx@localhost.localdomain」という状態になってしまい、相手のメールサーバーに受取拒否され、「/var/spool/postfix/deferred」にたまっている状態となっておりました。
これをなんとか送信しようというお話。
postfixのメールキューの形式は完全に独自形式のようで、人間が読めるように変換して出力するpostcatというコマンドが用意されています。
$ mailq -Queue ID- --Size-- ----Arrival Time---- -Sender/Recipient------- F2180160222 549 Thu Nov 13 20:13:20 xxx@localhost.localdomain
まずこんな感じでキューIDを調べます この場合「F2180160222」ですね
postcat -q F2180160222 *** ENVELOPE RECORDS deferred/F/F2180160222 *** message_size: 549 179 1 0 549 message_arrival_time: Thu Nov 13 20:13:20 2014 create_time: Thu Nov 13 20:13:20 2014 named_attribute: rewrite_context=local sender_fullname: sender: xxx@localhost.localdomain *** MESSAGE CONTENTS deferred/F/F2180160222 *** Received: by localhost.localdomain (Postfix, from userid 501) id F2180160222; Thu, 13 Nov 2014 20:13:20 +0900 (JST) To: hogehoge@gmail.com Subject: test From: xxx@localhost.localdomain Date: Thu, 13 Nov 2014 20:13:20 +0900 Message-ID: <54649250690447cea26330707f000101@localhost> MIME-Version: 1.0 Content-Type: text/plain; charset=ISO-2022-JP Content-Transfer-Encoding: 7bit message *** HEADER EXTRACTED deferred/F/F2180160222 *** original_recipient: xxx@localhost.localdomain recipient: xxx@localhost.localdomain *** MESSAGE FILE END deferred/F/F2180160222 ***
こんな感じでキューのメールを読むことができます
送信できなかったものについてはsenderのlocalhost.localdomain部分を実在するドメインに無理やりsedで書き換えて送信しました。その場合、アドレス全体の文字数は変えてはいけないようです。フォーマットを解析しようとpostfixのソースもちょっと見たのですが、根が深そうだったので断念しました。
カゴヤのVPSは使うな
カゴヤのVPSを複数台借りて運用していたのですが、いきなり以下のようなメールが来て大半のインスタンスを停止されました。
カゴヤ・ジャパン サポートセンター (担当者名) です。 平素は当社サービスをご利用いただき誠にありがとうございます。 2014-XX-XX XX:XX 頃、下記Xインスタンスの負荷が著しいために 同ホスト機内にある他のお客様サイトへの影響がございました。 XXXXX インスタンス名 IPアドレス …(台数分)… つきましては誠に遺憾ながら上記インスタンスを停止いたしました。 お手数とは存じますが、サイトのお見直しをお願いいたします。 ※サイトをお見直しいただきます際には、Apacheを停止しておく、 アクセス制限を施すなどを行った上でご確認ください。 ご了承のほどよろしくお願いいたします。 ご不明な点がございましたら、いつでもカゴヤ・ジャパン サポートセンターまで お問い合わせください。 それでは今後ともどうぞよろしくお願いいたします。
普通この手のVPSって、高負荷になったら割り当てるCPU時間とかIO帯域で調整すると思っていたのですが、まさかインスタンス停止とは…。 さくらVPSでずっと高負荷かけても(リソース調整はあるにせよ)何も言われないのに…。 確かに料金を日割りできるなどメリットはありますが、ちょっとケチってコレじゃ割にあわないです。 最初からさくら借りとけばよかった。
金輪際KAGOYAは使わないですし、今カゴヤのVPS利用を考えているなら全力で再考をお勧めします。 さくらを借りましょう。(ステマ)
MH4Gがダウンロードできない!? macで3DSのSDカードをフォーマットする方法
皆さん元気に狩ってますか!
いよいよモンスターハンター4Gが発売されましたね!!
早速ダウンロードしようとしたら、SDカードのブロックが足りないと言われDLできず。
よく見たら3DS買った時についてきた4GのSDがそのまま挿さってました(;´Д`)
そんなわけでそのへんに転がっていた32GのSDに載せ替えます。 とりあえずネットで軽く検索したら、PCでSDカードの中身をまるっとコピーすれば移行できそうなのでやってみました。ところが…。
「SDカードが認識できないためSDカードに入っているソフトを表示できません。」と表示され認識されず…。
何が悪かったかというと、macで3DS用のSDカードをフォーマットするときは「MS-DOS(FAT)」を選択しなければならない事でした。通常SDカードをフォーマットするときは「exFAT」を選びがちなので、注意が必要です。
その後、Finderから一度旧SDの中身をmacにコピーして、新しいSDにコピーしなおせば問題なく認識されました!
ちなみに今回使ったSDカードはこちら。 こんな値段なのに3DSで使える最大容量で、転送速度も早いのでロードが早くなってとても快適です。 容量不足でお困りの方は是非ご検討ください。
国内のVPSサービスを、主にディスク容量とinode数の面からコスト調査してみた
対象はさくらVPS、カゴヤVPS、DTIのServersMan@VPSです
サービス名 | プラン | 仮想化タイプ | 月額(税込,年契約) | 容量(kB) | inode数 | 容量単価(円/GB) | inode単価(円/1万inode) | 容量(kB)/inode |
---|---|---|---|---|---|---|---|---|
さくらVPS | 1G | KVM | 924 | 100,893,076 | 6,414,336 | 9.60 | 1.44 | 15.73 |
さくらVPS | 2G | KVM | 1,396 | 204,105,516 | 12,967,936 | 7.17 | 1.08 | 15.74 |
カゴヤVPS | タイプA | OpenVZ | 864 | 209,715,200 | 3,904,333 | 4.32 | 2.21 | 53.71 |
カゴヤVPS | タイプB | OpenVZ | 1,728 | 419,430,400 | 7,808,667 | 4.32 | 2.21 | 53.71 |
カゴヤVPS | タイプC | OpenVZ | 3,456 | 838,860,800 | 15,493,388 | 4.32 | 2.23 | 54.14 |
ServersMan@VPS | Entry | OpenVZ | 504 | 52,428,800 | 3,000,000 | 10.09 | 1.68 | 17.48 |
ServersMan@VPS | Standard | OpenVZ | 1,009 | 104,857,600 | 6,000,000 | 10.09 | 1.68 | 17.48 |
ServersMan@VPS | Pro | OpenVZ | 2,037 | 209,715,200 | 12,000,000 | 10.18 | 1.70 | 17.48 |
※2014/10/10時点
※グレーアウト部分は予測値
考察
- 単純に容量が欲しい場合はカゴヤVPSがGB単価4.32円/月と大変優秀、1ファイルが大きいコンテンツ(画像や動画)を置くには良さげ
- しかし小さいファイルを沢山置くような必要がある場合、inode単価でみると一番悪い
- 1ファイルが50kB以下の場合、ディスク容量を使いきる前にinodeを使い切る計算
- さくらVPSの2Gプランであればinode単価が一番安く、15kB以上であればディスクをフルに使える
VPSのディスクのサイジングを考える場合、容量だけではなくinodeにも注意する必要がある。
さくらVPSの特徴
- 長所 : 一番直感的に使える普通のLinuxマシン
- 長所 : 国内3箇所のリージョンから選べる
- 長所 : 同一リージョン内のVPS同士でローカルネットワークが組める(eth0はグローバルIP、eth1,eth2はローカルNWとして好きに使える)
- 短所 : 後からのスケールアップが不可能(したけりゃさくらクラウド使えって事なんだろうけど)
kagoya vpsの特徴
- 長所 : インスタンスのスケールアップ・ダウン(CPUコア数、メモリー容量、ディスク容量)をダウンタイム無しでできる
- 長所 : 料金が1日単位
- 短所 : OpenVSなのでちょっと特殊なこと(カーネルモジュール追加等)は何もできない
- 短所 : ファイルシステム関係も何もいじれない
- 短所 : fuseやloopマウント等も不可
DTI VPSの特徴
- 長所 : 1インスタンス単価が最安
- 短所 : OpenVZなのでkagoyaの短所と基本的に一緒
ちなみにOpenVZなカゴヤVPSで何とかinodeを増やそうと、ファイルをext4でフォーマットしてmount -o loopしようとしましたが、loopデバイスの使用が制限されていて(?)実現できませんでした。 同じ理由でFUSEデバイスも制限されていて、そちらのアプローチもムリでした。
まだ試していませんが、恐らくさくらVPSであれば上記の手法が使えるのではと思っています。 #そのうちやる
結論
結局さくらVPS最強。