Slide 1

Slide 1 text

© SAKURA Internet Inc. さくらのVPSを⽀える技術とこれから @OSC2020 Online / Spring さくらインターネット株式会社 技術本部 ⼩林 巧

Slide 2

Slide 2 text

⾃⼰紹介

Slide 3

Slide 3 text

⼩林 巧 (こばやし たくみ) • [email protected] @chamaharun • 2017年4⽉⼊社 新卒4年⽬ 所属 • 技術本部 ミドルウェアグループ • 仮想化基盤チーム VPSインフラ担当 著書 • 技術評論社 イラスト図解でよくわかる ITインフラの基礎知識(共著) • 技術評論社 Software Design 2018年7⽉号/2018年10⽉号(寄稿) 備考 • OSC参加 7年⽬ (登壇2回⽬) • アウトドアしたい!

Slide 4

Slide 4 text

• さくらのVPSのサービスについて • さくらのVPSの仕組みと運⽤上の⼯夫 • さくらのVPS最新動向 今⽇お話すること 注意事項等 • サービス提供上公開できないこともあります(DC所在地や原価等) • 「for Windows」「ベアメタルプラン」は仕様が違います • 資料作成当時(2020年4⽉)の情報です 発表当時資料になく⼝頭で説明・補⾜した部分は発表後に各ページのこの部分に追記しています。

Slide 5

Slide 5 text

「さくらのVPS」とは

Slide 6

Slide 6 text

さくらのVPS使っている⼈

Slide 7

Slide 7 text

• 2010年 サービス開始 • Virtual Private Server = 仮想専⽤サーバ • root権限、グローバルIPつきの⾃分専⽤のサーバ(実態はVM) • コントロールパネルから操作・リソースグラフの確認などができる さくらのVPS VM = Virtual Machine 仮想マシン 操作 リソースの利⽤状況 コントロールパネル お客様VPS

Slide 8

Slide 8 text

さくらのクラウドとのアーキテクチャの⽐較 さくらのVPS さくらのクラウド VM ホストサーバ VM ホストサーバ VM VM VM ホストサーバ VM ストレージ VMのストレージがホストサーバ上にある VMのストレージがネットワーク上にある • ⾼価なストレージアプライアンスを必要 とせず安価に提供可能 • 障害の影響範囲が⼩さい • ホストが障害でも別のホストからVMを起動 できる • 別のVMで使⽤していたディスクを接続して VMを起動できる DAS = Direct Attached Strage

Slide 9

Slide 9 text

さくらのVPSのホストサーバ VM VPSホストサーバ VM VM • VMが稼働しているサーバ • 複数VMでリソースを共有 • ハードウェアRAID • SSD/NIC/PSUなどのパーツを複数 搭載し冗⻑化 • bonding / NW機器の冗⻑化 • IPMIによるリモートからの操作 NIC = Network Interface Card PSU = Power Supply Unit RAID = 冗⻑化や⾼速化のため複数のディスクを束ねて使⽤すること SSD SSD SSD NIC NIC PSU PSU SSD SSDやNICやPSUといったパーツを複数搭載しているベンダー製サーバを採⽤しています。 データセンターに⾏かずにコンソール作業ができるよう、IPMIインターフェイスを搭載しています。

Slide 10

Slide 10 text

〇〇Stackなどのクラウド管理基盤ソフトウェアを使⽤せず⾃前で実装 • KVM+QEMU (仮想マシンの実⾏環境) • libvirt (仮想マシンの制御) • Linux Bridge + (Nested)VLAN(仮想マシンのNW) • LVM(仮想マシンのストレージ) さくらのVPSの実装 ⾃社で開発・保守することで低コストで運⽤&不具合に迅速に対応 KVM = Kernel-based Virtual Machine LVM = Logical Volume Manager

Slide 11

Slide 11 text

さくらのVPSのVMができるまで VM VPSホストサーバ VM VM スクリプト VPS API 実⾏ LV LV LV 実⾏結果 • 社内システムとの調整(課⾦等) • 収容ホストサーバの選定 • 実⾏結果をコンパネへ反映 • LV(VMのストレージ領域)の作成 • OSイメージの展開 • VMの初期設定 • VMの起動 VM作成時以外(操作時・設定変更時)も同様に動作 お客様からVMの申し込みがあると、VPS APIがリソースの空き具合から収容するホストサーバを 選定し、ホストサーバにあるスクリプトを叩き、スクリプトがVM作成などを⾏います。

Slide 12

Slide 12 text

「さくらのVPS」の運⽤

Slide 13

Slide 13 text

サービスチーム お客様対応部隊 さくらのVPSを⽀える⼈たち 24/365オペレーション部隊 DCOP 現地・物理作業 SVOP ホストアラート対応・メンテ VPSインフラ担当 VPS-API担当 NWOP NWアラート対応・メンテ 対応依頼・共同対処 エスカレーション CR カスタマーサポート VPS NW担当 24時間有⼈でサービスを横断して対応を⾏う体制があり、⼿順書と権限を渡して対応を依頼し、 対応しきれないものに関してはエスカレーションを⾏ってもらい、共同で対処します。

Slide 14

Slide 14 text

• サービスを安定的に提供し続けること = 監視を⾏い障害が発⽣したら対応する・発⽣しにくいようにする • サービス品質の継続的向上 = パフォーマンス改善・機能追加など 現状維持だけが運⽤ではない 「さくらのVPS」では開発と運⽤を同じスタッフで⾏っている → 運⽤負荷を下げる事でよりよいサービスづくりに注⼒が可能 サービスを安定して提供し続けるのは当然⼤事ですが、お客様に選ばれ使い続けていただくためには、 サービスを維持するだけでなく改善も必要で、開発も運⽤に含まれると考えています。

Slide 15

Slide 15 text

VPSインフラメンバーの⽇常 障害対応 問い合わせ 対応 ベンダー との 保守の調整 メンテ ナンス 運⽤改善 機能開発 新規構築 Abuse 対応 技術調査 在庫関連 作業 VPSインフラメンバーの⽇常業務は多岐にわたりますが、

Slide 16

Slide 16 text

VPSインフラメンバーの⽇常 メンテ ナンス 運⽤改善 今回はこの辺りについてお話します。

Slide 17

Slide 17 text

• RAIDカード • NIC • メモリ • マザーボード サーバの主な故障箇所とその対応 シャットダウンが必要 シャットダウンなしで交換 • HDD/SSD • PSU ホットスワップ⾮対応でも故障予知機能のあるパーツは 障害を防ぐため事前に計画メンテナンスを⾏う ⼀部ホットスワップにより交換できないものもありますが、NICなど冗⻑化しているパーツであれば ⽚側が動作している間にメンテナンスを計画しホストサーバを停⽌して交換します。

Slide 18

Slide 18 text

HW交換メンテナンスの流れ 計画メンテナンス対応例 メンテ情報掲載 シャットダウン 筐体交換 復旧確認 • アラート等を検知 • メンテナンス情報の掲載 と対象ユーザへメール (1〜2週間前) • Disk以外を予備機と 筐体ごと交換 • ホスト正常性を確認し VMの状態を復元 • VMの疎通確認 所要時間3時間程度:通常は深夜帯に実施 • VMの状態を保存 • ホストサーバの シャットダウン SVOP対応 DCOP対応 予備機は障害機と同スペックのものを複数⽤意しており、対応するスロットのディスクを差し替え、 障害機が設置してあったラックの位置にマウントし結線する運⽤を⾏っております。

Slide 19

Slide 19 text

信頼性を⾼める⼯夫

Slide 20

Slide 20 text

• RAIDの設計以上の本数が故障するとRAIDが崩壊する • 崩れたRAIDは再作成するしかない • バックアップから復旧するのに時間がかかる • CCを定期的に実⾏し不整合を検出・修正する • RAID/SMARTエラー値をホスト・スロット毎に追跡して予防交換 ストレージ障害と予防交換 CC(Consistency Check) = 仮想ドライブのデータ整合性をチェック修正するRAIDカードの機能 信頼性を⾼める⼯夫 CCを定期的に実⾏していても、不良スロットの影響により動作が不安定になることがあるので、 SMARTやRAIDカードのエラー値をチェックして、状況次第で予防交換を⾏います。

Slide 21

Slide 21 text

0 4 1 2 3 5 RAID多重障害事例 • RAID10のホスト • Slot0にてエラー値の上昇を確認 • 通常通りSlot0の交換を⼿配 • CCを⼿動実⾏

Slide 22

Slide 22 text

0 4 1 2 3 5 RAID多重障害事例 ❌ ⚠ • RAID10のホスト • Slot0にてエラー値の上昇を確認 • 通常通りSlot0の交換を⼿配 • CCを⼿動実⾏ • Slot1が脱落 • Slot0をリビルドソースとすると失敗 する可能性アリ

Slide 23

Slide 23 text

0 4 1 2 3 5 • RAID10のホスト • Slot0にてエラー値の上昇を確認 • 通常通りSlot0の交換を⼿配 • CCを⼿動実⾏ • Slot1が脱落 • Slot0をリビルドソースとすると失敗 する可能性アリ RAID多重障害事例 ⚠ 緊急メンテナンスを実施し VMを別ホストに退避 Slot1をこのまま交換してしまうとVMのデータ消失に繋がる恐れがあったので、 やむを得ず緊急で深夜帯にVMの移設を⾏いました。

Slide 24

Slide 24 text

0 4 1 2 3 5 RAID多重障害事例 VM移設後 • slot1を交換(3⽇後) →リビルド →完⾛ • slot0が脱落(22⽇後) →交換 →リビルド →完⾛ Slot1をこのまま交換してしまうとVMのデータ消失に繋がる恐れがあったので、 やむを得ず緊急で深夜帯にVMの移設を⾏いました。

Slide 25

Slide 25 text

• 故障率の上昇 • 保守費の⾼騰 • 収容率の低下 機材⽼朽化メンテナンス より新しく⾼性能な サーバにリプレース 古い機材を使い続けると・・・ 通常のマイグレーション: 1VMあたり 数⼗分〜数時間のサービス断 x 数⼗〜数百VM VMのストレージがホストサーバに紐付いているため VMのデータを旧→新ホストに効率よく転送する必要がある 信頼性を⾼める⼯夫 ここ最近は機材⽼朽化メンテナンスに注⼒しているのでそれについて話します。

Slide 26

Slide 26 text

DRBD 挟み込み VMデータ 同期 論理 切り替え 論理移設メンテナンスの流れ VMの停⽌が必要 VMの停⽌が不要 DRBDを各VMの LVの下に挟み込み DRBD = ホスト間でブロックデバイスの 同期・複製ができるソフトウェア ホストサーバ単位で⼀⻫にデータ同期と切り替えを⾏い サービス断を最⼩限に抑えつつ効率的にマイグレーション 新旧ホストのDRBDを 接続・同期 新ホストでVMを起動

Slide 27

Slide 27 text

DRBD挟み込み VM ストレージ VM • VMをシャットダウン • DRBDをセットアップ • LVMのデバイスを切り替え • VMを起動 • VM起動後の確認 DRBD 挟み込み VM VM 論理移設メンテナンス ストレージ DRBDという、HAなどでブロックデバイスの同期に使われるソフトウェアを、VMのIOを⼀度⽌めて VMのストレージ領域であるLVと、ホストサーバのストレージの間に挟み込みます。

Slide 28

Slide 28 text

VMデータ同期 DRBD データ 同期 VM VM 論理移設メンテナンス ストレージ DRBD • DRBD⼊り新ホスト を構築 • 新旧ホストを接続 • データの同期 VM ストレージ VM DRBD • 新ホストは同期開始時に構築されていればOK! • VM無停⽌で同期を開始できる! ⼀度挟み込んでしまえば、VMを停⽌することなくVMデータの同期を開始できます。 右側のDRBDデバイスはもう⼀つの旧ホストから⼊ってくるVMの領域になります。

Slide 29

Slide 29 text

• VM定義データの移⾏ • 旧ホストでVMをシャッ トダウン • LVMを切り替え • 新ホストでVMを起動 • VM起動後の確認 ストレージ VM VM VM VM 論理切り替え 論理移設メンテナンス 同期された状態で旧ホストのVMをシャットダウンしてIOを停⽌すると、新ホストにも旧ホストと同じ VMデータが存在することになります。この状態で新ホストでDRBDを外しVMを起動します。

Slide 30

Slide 30 text

運⽤負荷を下げる⼯夫

Slide 31

Slide 31 text

運⽤負荷を下げる⼯夫 • 構築・検収⼿順のスクリプト化 • アラート対応の⾃動化 • NetBoxの活⽤ • Infrastructure as a Code化 • ⼀部⾃動テストの導⼊ • 監視設定周りのGitOps化 ⾃動化・省⼒化を進めやすい環境・フローづくりを推進 監視の仕組みを⾒直し、スクリプトにオペレーションの⼀部を⾏わせることで省⼒化ができます。 運⽤者の負荷が減って、サービスの改善に繋がるようなことを今後はもっとやりたいと思っています。

Slide 32

Slide 32 text

さくらのVPS最新動向

Slide 33

Slide 33 text

さくらのVPSをリニューアルしました! • ストレージがフルSSDになりました! • 初期費⽤がなくなりました! • 既存のお客様へのフォローもあります!(SSD化 or SSD容量増加) さくらのVPS リニューアル 新プラン提 供開始のお知らせ https://vps-news.sakura.ad.jp/ 2019/11/07/vps-plan-renewal/

Slide 34

Slide 34 text

パケットフィルタ機能が追加されました! 新機能追加のお知らせ • コントロールパネル上から通信を許可するポートを設定可能 • VM上のiptables等のファイアウォールの設定が設定不要 • リリース後はデフォルトで有効なので困ったら設定を確認 https://vps-news.sakura.ad.jp/2019/06/27/vps-pf/ さくらのVPS 「パケットフィルタ」提供開始のお知らせ

Slide 35

Slide 35 text

スタートアップスクリプトが新しくなりました! 新機能追加のお知らせ • スタートアップスクリプトをユーザー同⼠で「シェア」 • ⾃分のスクリプトを「公開」可能! • 他のユーザーが公開したスクリプトを「利⽤」可能! https://vps-news.sakura.ad.jp/ 2020/03/10/vps-ss-share/ さくらのVPS スタートアップスクリプトで スクリプトのシェア機能を追加しました CMSやゲームの開発者・コミュニティの⽅などには是⾮使って頂きたい機能で、構築スクリプトをシェ アすればお気に⼊りのソフトウェアをユーザーに簡単に広めることができます。

Slide 36

Slide 36 text

SSH公開 登録機能が追加されました! 新機能追加のお知らせ SSH公開 を設置すれば、 初回ログインから公開 認証が可能に!! 設置 公開 認証 でログイン https://vps-news.sakura.ad.jp/ 2020/04/02/vps-ssh-keygen/ さくらのVPS コントロールパネルで 「SSH公開 の登録」ができる機能 を追加しました

Slide 37

Slide 37 text

DEMO スタートアップスクリプトのシェア機能とSSH公開 の追加機能について、簡単なデモを⾏いました。

Slide 38

Slide 38 text

⾮公式キャラクターVPSちゃんが登場! 今後も続々機能追加を予定しています! VPSちゃんの潜⼊⼤作戦! さくら社員のテレワーク環境を⾒る会 https://sakumaga.sakura.ad.jp/ entry/2020/04/01/120000

Slide 39

Slide 39 text

• 「さくらのVPS」は独⾃実装と運⽤の⼯夫により、リーズナブルに 安定したサービスを提供している。 • サービス開始から10年が経過し、様々なノウハウを培ってきた⼀⽅、 VM数の増加や機器の⽼朽化に伴う運⽤上の課題が⾒えてきた。 • 今後は省⼒化・⾃動化を推進し、運⽤の負荷を低減するとともに 機能追加等を通してよりよいサービスづくりに注⼒していきたい。 まとめ

Slide 40

Slide 40 text

質疑応答 当⽇頂いた質問と回答の要約を紹介します。

Slide 41

Slide 41 text

A. ございません。 パケットフィルタはWeb上で簡単にアクセス制御を⾏えるように設 計されていますので、既存のiptablesの設定がある場合は、対応し ているルールをコントロールパネルから追加いただくか、パケット フィルタを無効にしてVM上のiptablesをご利⽤頂くのが良いかと 思います。 Q1. パケットフィルタに既存のiptablesの設定を そのまま流し込める機能はあるか?

Slide 42

Slide 42 text

A. 今の所ありません。 需要があるようであれば検討いたします。 Q2. オートスケールアップの機能追加の予定は あるか? Q3. 今後プランの拡充はあるか?上位スペック のプラン提供はあるか?

Slide 43

Slide 43 text

A. はい。 キーペアを⼿元で⽣成、もしくは既に存在する公開 をコピー& ペーストいただく仕様になります。 より便利にお使いいただけるよう、機能追加を検討しております。 Q4. コントロールパネルから公開 を設置する 場合、⼿元の端末でssh-keygen等でキーペアの ⽣成を⾏う必要があるか?

Slide 44

Slide 44 text

A. 特に変化は感じていません。 平常通りサービスを提供できていると思います。 以前からリモート勤務が制度上可能で積極的に利⽤していたという のもあるかも知れません。 Q5. リモート勤務に切り替わって運⽤負荷の⾯ で変化はあったか?

Slide 45

Slide 45 text

© SAKURA Internet Inc. ありがとうございました