結論
ひらめいた時に頭上に電球が現れる表現を最初に用いた作品は、Felix the Cat(該当シーン未確認)。
制作者はアニメーターのOtto Messmer。
恐らくエジソンから連想したと思われるが、電球以前にルーツがあった可能性も。
引き続き、調査を続ける。
⇧ ひらめいた時に、電球の絵ってのは確かにインパクトありますよね、考案した人は偉大っすな。
ひらめきが全く舞い降りてこない、どうもボクです。
「ひらめき」と「直感」の違いについては、「池谷裕二」先生の解釈が分かりやすいですが、そんな先生の、
わかりやすい例を挙げれば、万有引力ですね。リンゴは日本だろうが、ニューヨークだろうが、どこでも落ちるじゃないですか。という風に誰がどこでやっても、再現できるものが科学なんです。
⇧ って言葉を聞いて、ふと思う。
開発につきものの再現ができない「バグ」って科学じゃないってことですかね、何てこったい...。
池谷先生もおススメの
⇧ 2冊を執筆するにあたりインスパイアされたのが、
⇧ 「脳の中の幽霊(著:V・S・ラマチャンドラン)」らしいですと。
脳と言えば記憶。なんか、
⇧ 久々に読みたくなるな~。
そんなわけで、記憶が出たということで、「ストレージ」についてレッツトライ~。
「ストレージ」イコール「補助記憶装置」
ということみたいですね。
ストレージとは、パソコンのデータを長期間保管しておくための補助記憶装置のことです。主なストレージにハードディスクやDVD、CDなどがあげられます。
⇧ 上記サイト様が仰っています。
Wikipediaさんによりますと、
補助記憶装置(ほじょきおくそうち)は記憶装置の分類で、外部バスに接続され、CPUが入出力命令で操作する物を示す。メインのバスに直接接続される主記憶装置(メインメモリ)と比較するとレイテンシやスループットは遅いが比較すると大容量である。二次記憶装置などとも。
⇧ といった感じで、CPUが操作する対象ですと。
な~の~に!
⇧ いきなり、CPUとか関係ないやん!酷いな...
まぁ、とりあえず、「ストレージ」イコール「補助記憶装置」と仮定して矛盾がないという態で進めますか。
Wikipediaさんの「ストレージの例」で取り上げられているだけでも、13種類の「ストレージ」が存在するんだぞ、と。
ストレージは、データを永続的に保存する補助記憶装置の一つだ。「コントローラー」と「ディスクドライブ」で構成する。
第2回 ストレージの基礎 ~適材適所で選ぶストレージアーキテクチャー~ - 基礎から学べる!最新スト...:日経クロステック Active
⇧ 「ストレージ」= 「コントローラー」+「ディスクドライブ」ですと。
コントローラーとは、CPU、メモリー、外部接続インタフェースが備わっているサーバーのような装置である。汎用OSではなくストレージに特化した専用ソフトウエアが動作する。
第2回 ストレージの基礎 ~適材適所で選ぶストレージアーキテクチャー~ - 基礎から学べる!最新スト...:日経クロステック Active
⇧ 「コントローラー」= 「CPU」+「メモリー」+「外部接続インターフェイス」ですと。
ディスクドライブは、「ディスクエンクロージャー」と呼ばれるきょう体に格納され、コントローラーと専用接続インタフェースで接続される。
第2回 ストレージの基礎 ~適材適所で選ぶストレージアーキテクチャー~ - 基礎から学べる!最新スト...:日経クロステック Active
⇧ 「ディスクドライブ」は、それ単独で「ディスクドライブ」ってことですかね。
つまり、「ストレージ」というのは、
⇧ 上図のような構成ですと。
アクセス方式で大きく3つに分類できるストレージ
「ストレージ」の種類が凄まじく多いことは分かったんだけど、
記録媒体の種類や記録方式、アクセス方式、設置場所、記録媒体が取り外せるか否か、書き換えられるか否か、等々といった分類がある。
⇧ 分類方法が様々ですと。
んで、「アクセス方式」の観点で分類を行うと、
このように、アクセス方式の観点から、ストレージを「ブロックストレージ」と「ファイルストレージ」、「オブジェクトストレージ」に分類することができる。
第4回 ストレージの基礎 ~アクセス方式の違いから見る~ - 基礎から学べる!最新ストレージ技術と選...:日経クロステック Active
⇧ ということみたいですね。
だいたいどのサイトでも、 「アクセス方式」の観点に立った場合、
⇧ 「ストレージ」の分類は3タイプになるんですと。
さらに、
⇧ 上記サイト様による情報を踏まえると、
- ファイルストレージ
- NAS (Network Attached Storage)
- ブロックストレージ
- SAN (Storage Area Network)
- DAS(Direct Attached Storage)
- オブジェクトストレージ
ってな具合になるんですと。
「NAS(Network Attached Storage)」については、
ネットワークアタッチトストレージ (Network Attached Storage) とは、コンピュータネットワークに直接接続して使用するファイルサーバ。TCP/IPネットワークに接続して使用する補助記憶装置であり、コントローラとハードディスクから成るファイルサービス専用のコンピュータである。OSがチューニング・独自開発されている場合もある。
⇧ 通信には「TCP/IP(Transmission Control Protocol /Internet Protocol )」のプロトコルが必要ですと。
「SAN(Storage Area Network)」については、
ストレージエリアネットワーク(英: Storage Area Network,SAN)はハードディスクや磁気テープなどのストレージとサーバをネットワーク化したシステムである。通信にはファイバチャネル、プロトコルにはSCSIが主に用いられる。ローカルエリアネットワーク(LAN)とは異なりストレージ専用のネットワークであり、膨大な量のデータファイルを保存・活用・一括管理するために使用される。
⇧ 通信には「ファイバチャネル」、「SCSI(Small Computer System Interface)」っていうプロトコルが必要ですと。
「ファイバチャネル」がよう分からんのだけれど、
ファイバーチャネルはIPI (Intelligent Peripheral Interface)プロトコルの拡張プロジェクトの一部として検討が始まり、1988年にANSI X3T9によりプロジェクトとして承認、1994年には規格が承認された。
⇧ プロトコルの1種ではあるらしい。
⇧ 具体的には、Wikipediaさんを見てもらうとして、「5層」構造で、レイヤーが異なるみたいね。
「DAS(Direct Attached Storage)」については、
ダイレクトアタッチトストレージ(英: Direct-Attached Storage、DAS)とは、ネットワークを挟まずにサーバやワークステーションに直接接続されるストレージである。レトロニムであってストレージエリアネットワーク(SAN)およびネットワークアタッチトストレージ(NAS)のようにネットワーク化されたストレージでないものを区別する用語。
⇧ ネットワークには繋がっとらんのだけど、接続にプロトコルは必要ですと。
ちなみに、
ユニファイド・ストレージ
1台でNASとしてもSANストレージとしても使える
NetApp FASシリーズでは、CIFSやNFSプロトコルを通じてアクセスするNASとしてだけでなく、 iSCSIやFibre ChannelといったSANストレージとしても1台で使用することが可能です。
つまり、WndowsやUNIXサーバ、さらに仮想サーバが混在するシステムであっても ストレージはFASシリーズ1台に統合できるので、機器コスト・設置スペースの削減はもちろん 運用管理をシンプルにし、運用コストの削減にもつながります。
⇧ 「ユニファイド・ストレージ」っていう「NAS」「SAN」を統合したハイブリッドまストレージもあるんだとか。
⇧ 富士通さんの説明だと、「NAS」「SAN」以外の組み合わせもあるってことですかね?「NAS」「SAN」って回文になるんね。
OS(Operating System)は必要なんいんか?
私の、薄っぺらい知識では、測り知れない世界であるから、OS(Operating System)が不要っていうこともありえるのかもしらんのだけれど、少なくとも、
- ストレージ
- ファイルストレージ
- ブロックストレージ
- オブジェクトストレージ
の仕組みを見た限りでは、ストレージには、OS(Operating System)は必要なんじゃないのか?って思ったんですが。
何で、OS(Operating System)が不要ってことを言いだしたかと言うと、とある某製品のNASで管理してたファイル群をクラウド環境に移行するってことになった経緯があるんだけども、ネット上には、NASってOS(Operating System)を搭載してなくても利用できるって情報がありまして、
個人向けに使うネットワークハードディスク(NAS)は単なる保存用のHDDですが、企業で使用するタイプは基本ソフト(OS)が搭載されているものが大半です。
⇧ え?
じゃあ、NASで実現してる「共有フォルダ」って何なの?
Windows ServerのようなOS(Operating System)が提供してる機能が「共有フォルダ」を作り出しているんじゃないんかいな?って思いだして、よう分からんことになってきたという経緯があります。
少なくとも、Wikipediaさんによりますと、
ファイル共有(ファイルきょうゆう)は、コンピュータネットワーク内で、あるコンピュータ内のファイルに、他のネットワーク接続されたコンピュータからのアクセスをさせる仕組み。
⇧ 「ファイル共有」については、
- OS(Operating System)によるファイル共有
- アプリケーションによるファイル共有
- オンラインストレージによるファイル共有
の3つしか方法が無いんですと。
で、「ファイル共有」と「共有フォルダ」の関係がよく分からんのだけれど、総務省の「共有フォルダ」についての見解は、
共有フォルダ(きょうゆう・フォルダ)
複数の利用者がアクセスできるように設定したコンピュータ上のディスク領域のこと。
現在の Windows では、サーバだけでなく、クライアントでも共有フォルダを作成することができます。
共有フォルダは、利用者にとっては便利なものですが、適切な設定を行わずに利用した場合には、ネットワーク上からファイルを参照できてしまうため、情報セキュリティ上のリスクとなることがあります。共有フォルダを安全に利用するには、指定した利用者だけがアクセスできるようにアクセス制限をかけておく必要があります。
⇧ 上記のように、Windowsのことしか触れてないから、Windows特有の機能ということで良いんかな?と思ったら、普通にLinuxでも「共有フォルダ」実現できるみたい。
LinuxでCIFS共有フォルダをマウントする
⇧ 上記サイト様の情報を参考にさせていただきますと、「共有フォルダ」を実現するのは、OS(Operating System)内蔵の「ファイル共有」機能で、「ファイル共有」機能は、「SMB」や「CIFS」などの「通信プロトコル」で実現するんだと。
なので、「共有フォルダ」っていうのは、
Windowsネットワーク階層の最上位にあり、共有フォルダや共有プリンタなどのネットワーク・サービスを実現するプロトコルがSMB(Server Message Block)である。
第2回 Windowsネットワークのレイヤ・モデルとファイル共有 (2/3):基礎から学ぶWindowsネットワーク - @IT
⇧ Windows特有の機能ということでは無いんですよと。
なので、「共有フォルダ」を実現するのが「ファイル共有」機能で、「ファイル共有」っていうのは、
- OS(Operating System)によるファイル共有
- アプリケーションによるファイル共有
- オンラインストレージによるファイル共有
の3つでしか実現されないし、結局、上記の3つって全部OS(Operating System)を含んでるからして、
NAS に Windows のOS が入っていれば、通常の Windows Server と同じように、NAS にバックアップソフトをインストールしてバックアップすることができます。ですが、組み込み型などの場合、直接バックアップソフトを入れることはできません。
⇧ ってな感じで、OS(Operating System)の無いNASってのは、「共有フォルダ」を構築できてないってことでしょうね、というか、OS(Operating System)が無くてもファイルシステムとかって実現できるんかね?
ファイルシステムは、コンピュータのリソースを操作するための、オペレーティングシステム (OS) が持つ機能の一つ。
⇧ ですよね?
OS(Operating System)の機能の1つですよね?
組み込み系は、
組み込み分野では、システムの資源の制約が厳しく、ファイルシステム自体がなかったり、あったとしてもROM用・省スペース用のものだったりしますが、ユーザーはそのファイルシステムを意識することはまずありませんよね。
⇧ ファイルシステムが無い場合もあると。
でも、組み込み系だとしても、OS(Operating System)はあるよね?
だから、OS(Operating System)の無いNASってのは、NAS自体にOS(Operating System)は搭載されていないけど、外部のOS(Operating System)を搭載したマシンと接続されて使われてたんじゃないかと思うけど...
⇧ 現に、NASからクラウドへのデータ移行で、NASとOS(ここでは、Linux、または、Mac)を搭載したマシンをクラウドの間にかます必要があるってやってるんですから、NASが、OS(Linux、または、Mac)を搭載したマシンと連携してたって考えれるってことっすからね。
Windowsの場合は、
⇧ 上記のように、OSI参照モデルのレイヤー層で、「フォルダ共有」は「ファイル共有」機能を実現する「SMB(Server Message Block)」や「CIFS(Common Internet File System)」といった通信プロトコルで構築されるんでした。
で、OS(Operation Systems)との関係は、
⇧ 上記サイト様がまとめてくださってます。
「SMB(Server Message Block)」や「CIFS(Common Internet File System)」が、「アプリケーション層」から「セッション層」であったことから、その下位の階層である「トランスポート層」や「ネットワーク層」に跨るOS(Operation Systems)との連携が必須そうですね。
いろいろ、調査した結論としては、ストレージを機能させるにはOS(Operating System)の機能が必要そうなんで、NAS(Network Attached Storage)もストレージの1種である以上、NAS自体にOS(Operating System)が搭載されていない場合、外部からOSを搭載したマシンの機能を利用してるということかと。
NAS(Network Attached Storage)の共有フォルダって、どう実現してんの?
「共有フォルダ」がOS(Operating System)内蔵の「ファイル共有」機能によって実現しているってことが分かったので、NAS(Network Attached Storage)が「共有フォルダ」を実現してる方法としては、
- NAS自体にOS(Operating System)が搭載されてる場合
- 外部のOS(Operation System)を搭載したマシンと連携する
- 外部のOS(Operation System)を搭載したマシンと連携しない
- NAS自体にOS(Operating System)が搭載されていない場合
- 外部のOS(Operating System)を搭載したマシンと連携、つまり、NASを外付けHDDみたいに使うパターン
の3つのパターンがあるようです。
まぁ、ほとんどのNAS(Network Attached Storage)はOS(Operation Systems)が搭載されてるんだとは思いますが。
NAS専用のハードウェアとそのメーカーが用意したOSの場合、これが簡単にはいかなくなります。
⇧ 上記サイト様が仰る通り、NAS(Network Attached Storage)に搭載されたOSっていうのは、独自のカスタマイズが施されたOSであることが往々にありますと。
世界のNAS(Network Attached Storage)市場でも知名度の高い、NetApp, Inc. も、
NetApp Filer はUNIXや Windowsクライアントからの共有ファイルサービスとしての NAS (NFS及びCIFS) としての利用だけでなく、FCP、iSCSI などのDAS/SANプロトコルもサポートしており、SAN/NAS統合ストレージとして利用が可能である。また、全モデル共通の専用OS(DataONTAP)と全モデル共通のディスクを採用している上、その管理を容易にするための機能や、信頼性を高めるための機能も用意し、ワークグループ~エンタープライズ規模まで幅広い範囲で利用できることが特徴である。
⇧ 独自のOS(DataONTAP)というものを使ってますと。
⇧ ONTAP とも言われるそうな。
Data ONTAPは、NetBSDやLinuxを基にカスタマイズされたもので、コマンドやCIFS/NFS/FTP/iSCSI/FCPなどの統合ストレージ管理機能は、ONTAP用にRFCや規定を準拠した独自の動作仕様及び、設定体系となっている。
⇧ ベースは、NetBSDやLinuxってことは、UNIX系と親和性が高いっちゅうことですな。
すみません、脱線しました。
んで、NAS(Network Attached Storage)っていうと、「ファイルサーバ」としての用途が一般的だとは思うんですが、ここで、ディレクトリの認証の仕組みも入ってくると、また、話が複雑になってきますと。
どういうことかと言いますと、
⇧ 上記サイト様のように、「ファイルサーバ」とは別に「認証」用のサーバってものが登場してくることがあるんですな。
ディレクトリの認証 って?
「ネットワーク」に繋がって、マシン同士は接続でき、OSの持つ機能の1つである「ファイルシステム」と「ファイル共有」機能で、「ストレージ」に「共有フォルダ」なんかを実現できましたと。
でも、ちょいと、気になるじゃないですか。
何が?
そう、「ネットワーク」でみんなのマシンが繋がったってことは、「ネットワーク」に繋がってる人は「共有フォルダ」にアクセスし放題ってことですと。
そこで、出てくるのが、ちょっと誰でもアクセスできるっていうのはいかがなものか、って話で、そのための仕組みが「認証」ですかね。
認証(にんしょう)とは、何かによって、対象の正当性を確認する行為を指す。
⇧ 幅広過ぎっすな...
意味合い的には、
Authenticationとは、被認証者が認証場所に直接アクセスせずに遠隔地から電子的に行う認証である。
⇧ こっちっすかね。
誰でもアクセスできてた「共有フォルダ」には「認証」を付けましょう、つまり「ディレクトリの認証」の仕組みを設けましょうってことで、この「ディレクトリの認証」には、いろいろあるらしいんだけど、Windows系のOSの場合は、「Active Directory」ってものがごっつ有名なんですと。
で、「Active Directory」ってものに限らないんだけど、
皆さんはLDAP(Lightweight Directory Access Protocol)という言葉をご存知でしょうか。
ここ数年で、LDAPを実装したサーバソフトウェアの知名度は上がってきていますので、ご存知の方も多いかもしれません。
例えば、Microsoft社のActive DirectoryやSun Microsystems社のSunONE Directory Server、Red Hat社のRed Hat Directory Server、そして本連載で取り扱うOpenLDAPなどが代表的なLDAPを実装したソフトウェアです。しかし、これらのソフトウェア名を知っていても、実際にどんなことができるのか、というところまでご存知の方はまだまだ少ないのではないでしょうか。
⇧ ってな感じで、「LDAP(Lightweight Directory Access Protocol)」ってものが実装されてるんだそうな。詳細は上記サイト様で。
Active Directoryって?
「Active Directory」ですが、Wikipedia さんによりますと、
Active Directory (アクティブディレクトリ) とはマイクロソフトによって開発されたオンプレミスにおけるディレクトリ・サービス・システムであり、Windows 2000 Serverから導入された、ユーザとコンピュータリソースを管理するコンポーネント群の総称である。なお、クラウドコンピューティングにおけるディレクトリ・サービス・システムであるAzure Active Directoryと区別する場合、オンプレミス Active Directoryと表記することもある。
⇧ クラウドのMicrosoft AzureのActive Directoryとごっちゃになりそうだけど、まったく別物ですと、ややこしいな...。
そんなActive Directoryなんですが、いつ頃できた仕組みなのか?
歴史を辿ると、もともとは、Windows NT系のOS(Operation Systems)が「アクセス制御機能」を持ってましたと、つまり「認証」なんかが実現できたと。
Windows NTでは、クライアントPC単体でユーザ管理およびアクセス制御機能を搭載しており、さらにWindows NTサーバを中心とするNTドメインを構築することで、ユーザーおよびパーソナルコンピュータ (PC) のユーザアカウントをドメインコントローラ (Domain controller、以下DC) で集中管理できるようになった。
⇧ さらに「NTドメイン」って仕組みを利用することで、「認証」なんかをまとめて管理できてたらしいんですけれど、やがて限界が訪れ、
⇧ 「Active Directory」が爆誕。
だが、しかし、
⇧ 高機能が故の哀しさ...
また、ファイルとプリンタの共有ができれば十分であり、サポートが得られなくても現に利益を生み出しているシステムを、リプレースするメリットはないと判断したユーザーも多い。
⇧ と言った感じで、あんまり歓迎されてないっぽい...
まぁ、でも、やっぱりWindows系のOS(Operation Systems)を使ってるんなら、Active Directoryがスタンダードってことになってくるのかと。
ちなみに、ややこしいのが、このActive Directoryの仕組みってのは、Windows系のOS(Operation Systems)以外のOSからも連携できるらしいんですな。
⇧ 統合はできるけど、あくまで「Active Directory」っていうのは、Windows Server系が提供してるもので良いんですよね?
結論
まぁ、何が言いたいかと言うと、ある程度システムの仕組みが把握できないと方向性が定まらんよね。
どんな運用(システムの使い方)してるかっていうのは、それを運用してる人たちにしか分からない情報ではあるし、そういう情報ってドキュメントとして整備しておかないと、いざという時に辛いってことよね。
そういえば、
⇧ 「オンラインストレージ」って言っても、結局のところ中身は物理マシンであるんだと思うんですよね。
しかしオンプレ評価の流れを、オンプレミスへの「回帰」と表現していることに注意したい。海外ではこの流れをCloud Repatriation(日本語では「脱クラウド」などと訳される)と呼ぶことが多いが、Repatriationとは帰還や送還などに使われる言葉で、文字通り「どこかに出掛けていてそこから戻って来る」という意味だ。
⇧ ようやく、オンプレの時代が来ますかね。
結局のところ、クラウドでできるデザインパターンがオンプレミス環境で実現できるようになれば、物理マシンが一番性能は良いはずなんだから、そりゃオンプレミス環境で実現したくもなるよね。
基礎的な知識が無いから、しんどいな...
専門的な教育を受けてきた人たちが羨ましいですな、OJT(On-the-Job Training)とか受けれてる新人が羨ましいですな。
今回はこのへんで。