さくらインターネットの「さくらのクラウド」とは?
>>サービス資料をダウンロードする

IaaS型クラウドサービスとして成長を続けてきた「さくらのクラウド」。
高い自由度と柔軟な拡張性を提供する一方、OSが常時稼働し続ける特性上、サービスの停止はお客さまのビジネスに直結します。そのため、障害やメンテナンスの影響を最小限に抑えることが欠かせません。
サービス開始から10年——。
長期間にわたり膨大なデータを支えてきた実機ハードウェアの劣化が、静かに、しかし確実に進行していました。停止できないサービスをどう守り、どう更新するのか。
お客さまのデータを預かる「ディスク」機能は、遅延や消失が一切許されないクラウドの心臓部ともいえる存在です。そのストレージ更改の裏側を、開発・運用の両チームにじっくり聞きました。
さくらのクラウドの「ディスク」機能とは?
「さくらのクラウド」はサーバーやディスク、ネットワークなどをすべて仮想化した状態で提供するIaaS型のインフラサービスです。しかしその裏側では、仮想化ハイパーバイザーを通して、実機のホストサーバーやストレージ装置上でCPUやメモリー、SSDなどが動作しています。これらの機器を、お客さまのサービスに影響がでないように安定稼働させ続けることが重要です。
今回のストレージ更改にあたり、まずはクラウド基盤の運用・保守・管理を担う基盤ユニットにインタビュー。リーダーの根本昌季、大井勇人の両名に、ディスク機能を支える仕組みとその課題について話を聞きました。

根本 昌季(ねもと まさき) プロフィール
さくらインターネット クラウド事業本部 プラットフォーム部 基盤グループ 基盤ユニット リーダー
2016年に中途でさくらインターネットに入社。さくらのクラウドのインフラチームに所属し、サービスの安定稼働と機器管理運用の効率化に注力。趣味はダイビング・ジョギング・御朱印巡り・メールサーバーが好き。

大井 勇人(おおい ゆうと) プロフィール
さくらインターネット クラウド事業本部 プラットフォーム部 基盤グループ 基盤ユニット
さくらのクラウドのサービス開始時から基盤システムの運用業務に携わり、現在はクラウドのマニュアルやお客様サポートなどカスタマーコミュニケーションの領域を含めた広い範囲を担当。好きな食べ物はペヤング超大盛。
まず基盤ユニットの業務について教えてください。

さくらのクラウドサービスで稼働するホストサーバー、ストレージ装置、ネットワーク機器など、物理機器全般の導入段階での設計や構築、さらにサービス稼働開始後の運用までおこなっています。それらの機器の一部に故障が発生しても、冗長化や自動復旧などの機能によりその上部で仮想化された状態で動作するお客さまのリソースへの影響は最小限となる設計になっていますが、壊れたまま放置することは許されません。クラウド基盤全体で数千台の物理機器で構成され、日々どこかしらに不具合が発生しますが、交換や修理などによりつねに健全な状態になるように「お守り」するのが私たちの役目です。

とにかく管理対象となっている機器の数が膨大で、サービスの成長とともに日々増加していっています。構成機材がどのデータセンターのどの棟のどのラックのどの位置にあるかをまとめるデータベース、異常を素早く検知するための監視システム、それらを活用して障害発生時にスムーズに対応できるような手順の自動化などの取り組みも基盤ユニットが担っています。
お客さまが直接触れる新サービスや新機能の開発ではなく、サービスを継続し続けるための守備的な業務になるのですね。

そのとおりです。クラウドによる仮想化がおこなわれているとはいえ、お客さまがサーバーを作成・起動したあとは数年単位で電源を切ることなく継続稼働することも珍しくありません。お客さまのビジネスが安心して提供できるよう、提供後のサービスを長期にわたって安定した品質でお届けすることが重要です。
そのような保守・管理業務をおこなうなかで、今回の「ディスク移行」の課題が出てきたと。

はい。長期間稼働し続けるクラウドの構成機材は部材の劣化による入れ替えが避けられず、ディスク機能では実際に動作するSSDやHDDの経年劣化による故障率の上昇が大きな問題となります。そのため、機能において問題のない時点で新機材へのリプレースやそれにともなうお客さまへのメンテナンス告知などの段取りを計画・立案していく必要があります。今回のディスク移行プロジェクトに関しては、実際の計画から機能開発とテスト、そしてお客さまへのアナウンスと全ディスクの移行完了までに年単位での期間を要しています。
作業ひとつとっても長い時間がかかるものなのですね。このような困難なプロジェクトを達成するため、どのようにして取り組みを進めていったのでしょうか。

近年、ストレージネットワーク上に構成される物理ストレージ機器を大きなディスクプールとして見立て、ソフトウェア制御により仮想的なブロックデバイスを切り出す分散ストレージも進化しています。そんななか、さくらのクラウドでは現在のところ、パフォーマンスや信頼性、管理上の問題から個別のストレージ機器単位で収容する方式を採用しています。


そのため、ストレージ装置ごとにリプレイスをする際は、そのストレージ内に収容されたお客さまの仮想ディスクをほかのストレージへ移行する作業が避けられません。まずはこの手法についてどのように実現するかの検討から始めました。


この時点で、さくらのクラウドのバックエンド側のソフトウェア開発を担うIaaS基盤開発チームと相談し、徐々に機能実装に必要な要件を固めていきました。その後内部テストを重ねて移行機能を完成し、お客さま側での移行作業を実施いただく流れとなりました。

お客さまに影響を及ぼす大きな環境移行作業は久々のことだったので、実際の機能開発のみならず、マニュアルの整備や細かなお客さまへのアナウンス、お問い合わせへのきめ細かな対応など、サポート部分も重視しながら進めていったことも印象に残っています。
お客さまの大切なデータを扱うディスク機能の移行作業は、長い期間をかけて慎重に進めていったのですね。

そうですね。
さくらインターネットの提供するクラウドサービスの特徴やメリットをご紹介
>>資料のダウンロードはこちらから
ストレージ機器間でお客さまディスクのデータを移動する「ディスク移行機能」の実装
続いてここからは、実際にディスク移行機能の開発に携わった開発チームの視点を掘り下げます。本機能の開発に携わったIaaS基盤開発チームの恒藤悟史に話を聞きました。

恒藤 悟史(つねとう さとし) プロフィール
さくらインターネット クラウド事業本部 クラウドサービス部 サービス開発グループ バックエンドユニット IaaS基盤開発チーム
2020年にさくらインターネットへ入社。 IaaS基盤開発チームに所属し、クラウド基盤を支える各種ソフトウェアの設計・開発・運用に従事。 ストレージ領域など、クラウドサービスの中核を担うシステムの機能改善や品質向上に取り組んでいる。
どのような流れで機能開発が進んでいったのでしょうか。

はい、まず基盤ユニットより話があったのですが、今回の対象となったストレージ装置をはじめ、「クラウド基盤内で利用している機材の劣化とリプレースはいつしか必要になる作業である」という暗黙の認識がチーム内にあり、「いよいよ来たか」という感じでした(笑)。
最初に思い浮かんだ課題は、「ストレージ装置の機能をどうやって制御しながら、お客さまがクラウドのコントロールパネル操作で扱えるディスク移行機能を実装するか」という点です。今回のディスク移行の対象となったストレージ装置はベンダー製機器を利用しており、そのなかでネットワーク越しに2台の装置間で仮想ディスクを同期させる機能があるのですが、これらの機能を利用し移行をおこなうための手順や操作方法、機能使用中のディスクやネットワークに与える負荷の検証など、やらなければいけない項目は多岐に渡りました。こちらも基盤チームと連携しながら検証環境で一つひとつ解決していきました。
チームの垣根を越えて課題解決に取り組む姿は、システムを内製しているさくらのクラウドならではの光景ですね。開発にあたり、とくに困難だった点はどこでしょうか。

さくらのクラウドでは、多数の利用者が操作するあらゆる機能がリクエストとしてバックエンドに飛んできます。しかし、ストレージ装置自体はそういった操作を想定しているものではなく、ある機能の実行中はほかの処理がおこなえなくなったり、排他的にほかの機能が実行できなかったりといった制約がありました。ときにはストレージ装置のベンダー側にも問い合わせしながら解決方法を検討し、中間でリクエストを処理する専用のサーバーを構築して対応するなど、うまくやりくりしながら実装していきました。とくにエラー発生時の処理については、お客さまのデータという大切な資産を預かる機能であるため入念な設計をおこなっています。
また、ディスク移行機能については、サーバーを停止せずにおこなえる、移行元・移行先のストレージ間でのフルコピーを先に実施し、そのあと、フルコピー開始後から発生するディスク内容の差分を同期する2段階の操作により実施する設計としました。これにより、サーバーの停止が必要となる最終的な完全同期に必要な時間を短縮し、お客さまのビジネス・サービスへの影響を極少化する工夫をしています。
もちろんサーバーの停止がともなう以上、お客さま側の都合に合わせた任意のタイミングで実施できるようにコントロールパネルでの操作ができるようにしていますが、簡単かつ安全に操作できる、わかりやすいユーザーインターフェースの作り込みも課題でした。
実際にお客さまへ機能を開放したあとの反応はいかがでしたか。

事前に入念な周知や、ていねいなマニュアルづくりを心がけたことにより、大きな混乱はなく実施することができたのではないかと思います。ただ、今後老朽化する機材は絶えず出てきますし、これからもお客さまに負担を強いながら移行をおこなっていく必要がある点は、大きな課題となりました。そんななか、さくらのクラウドの仮想化基盤ソフトウェアとして使用しているqemu-kvmに内蔵されるディスクのミラーリング機能がうまく使えないかという意見が出てきました。結果、第2世代のディスク移行はこの機能をベースとして開発することとなりました。お客さまの満足度をさらに高めるための新しいチャレンジですね。
長期間にわたり安定運用を続けるための「第1世代ディスク移行」の裏側には、多くの工夫と挑戦がありました。しかし、老朽化する機材は今後も避けられません。お客さまの負担をさらに軽減しながら、より安全でスムーズな移行を実現するにはどうすればよいのか――。その答えを探る「第2世代ディスク移行」への挑戦については、後編でくわしくお伝えします。
安心してクラウドを活用するために ― ISMAP準拠のセキュリティ対策を解説
>>資料をダウンロードする