改めてLinuxについてまとめてみた その3
メモリーについて
メモリーの種類には2種類あり
- ROM: 電源を切っても記憶内容が保持される
- RAM: 電源を切ると記憶内容が失われてしまう
RAMは作業用に一時的にデータを保持するもの
ROMはSSDなど永続保存するもの
そのほかにキャッシュメモリーがある
RAMとCPUの間に存在し、CUPが一時的にキャッシュメモリーに保存することで, RAMにアクセスするよりも早く処理することができるようになる
キャッシュされる仕組み
ストレージについて
- データを長期間保存可能な媒体のこと
- HDD, SSD, SDカードなどデータを長期間保存できるもを指す
- ROMのことを指すとも言える
ストレージの種類
- ブロックストレージ(ex EBS)
- ファイルストレージ(ex EFS)
- オブジェクトストレージ(ex S3)
ブロックストレージとは
ブロックストレージのメリット
- 階層構造での保存ではなく, また複数のパスを指定できるので高速にアクセスできる
- 細かな制御が可能なため, パフォーマンスが求められるアプリケーションの実装に向いている
デメリット
- 値段が高く、 メタデータ(属性や関連情報など)を付与できないので、一般的にはファイルストレージやオブジェクトストレージの基盤として利用される
ファイルストレージとは
- フォルダーやディレクトリーを使い階層的に保存される形式
- ファイル名、 作成日、 サイズ、 データの種類といった最低限のメタデータが付与される
- macOSやwindowsなどで採用されている形式
ファイルストレージデメリット
- 非構造化データの管理には向かない
- データ容量の増加により、リソース要求が大きくなるが, パフォーマンス低下を解決するには, 容量を増加して、スケールアップしても無意味で、システムを増設して、スケールあるとする必要がある
ファイルストレージであるEFSに関して
オブジェクトストレージとは
- オブジェクトという単位でデータを保存, 管理するストレージ形式
- ファイルストレージよりも多くにメタデータを任意に設定可能
- 階層のないフラットなアドレス空間に保存され, 各オブジェクトには一意な識別子が付与される
オブジェクトストレージのメリット
- フラットな状態で保存されているので, indexの作成が容易
- メタデータを通じて検索するので、非構造化データや大量データでも高速な検索が可能
パーティションとは
一つの物理ディスク(例えばHDD, SSDなど)を論理的に分割し、複数のディスクを用いているように見せる技術
WindowsのDドライブやCドライブなどがわかりやすい例となる
なぜ必要なのか?
- あるパーティションで障害が発生したとしても、他のパーティションには影響しない
- 重要な情報のパーティションを区切ることができるので重要な情報のみバックアップを取るなども可能なため
swapパーティションについて
メモリーが不足している時に,メモリーの代わりとして使用できるディスク上の領域
パーティションの管理方式
MBRとGPTがある
- GPTが新しいパーティション方式
- MBRはディスク容量が2TBまでしかサポートされていない
- 作成可能なパーティション数MBRは4つまで(拡張パーティションで増やせる), GPTは128まで作成可能
MBRについて
GPTについて
ファイルシステムとは
コマンドを打ってファイルなどを呼び出すが、ファイルシステムがないと、そのデータがどこのディスクのどの位置に保存されているかが分からなくなるが、ファイルシステムが中間に入ることで、それが解消されている
ファイルシステムの機能例
- ファイル保存
- 暗号化
- 圧縮機能
ファイルシステム代表例
補足:
EC2のEBSをマウントする際はxfsでファイルシステムを構築するのが標準になっている
RAIDとは
RAIDはハードディスクの課題を解決するために開発された技術で
ザッパに言うと、複数のハードディスクを一つのディスクに見立てて、冗長化することで故障などに備える技術
RAID実現方法
- ソフトウェアRAID
- ハードウェアRAID
上記の2つがある
- ソフトウェアRAID
OS内に複数ハードウェアを管理するソフトをいれ(近年は標準搭載)管理する方法
メリットとしては安価で、ほとんどが標準搭載なので導入が容易
デメリットとしてはソフトウェアを動かすので、 CPUに負荷がかかる
-
ハードウェアRAID
RAIDコントローラーのような専用ハードウェアに複数のディスクを接続し、その専用ハードウェアをOSに接続する
メリットとしては本体機器のCPU負荷がかからない
デメリットとしては高価で導入も大変 -
RAIDのレベル
RAID0
RAID1
RAID5
RAID6
RAIDの組み合わせ
AWSでのRAID(EBSは冗長化しているのでどこまで必要かは仕様次第)
FHS ディレクトリー構成
FHSとはlinuxの標準的なディレクトリー構成を定めた標準仕様
代表的な階層構造
それぞれの役割
ディストリビューションについて
OSSのLinuxをカスタマイズしたものである
Discussion