【入門連載】 Linuxって何だろう 基礎知識編(3:各ディストリビューションは何が違うのか):ITpro
きちんとした定義づけを初めて見た。
VMware PlayerでLinux環境
表題通りのことをしようかなと思います。本来ならば、物理サーバがあって、そこにインストールしたいんですが、いかんせん機器が無い。会社ならあるんですが、常に使うということは許されないので、恒久的に使用できて、試すことができる環境が欲しい。出来次第レポートが書ければなと思っています。
tarボール
ブートローダのLILOって言葉を懐かしく思い出しながら、読んでいる。サーバーにするなら/varにログがたまるから多めに用意するようにとか書いている。
コンピュータは起動すると、BIOSで指定されたドライブのMBRを読みに行く。MBRは小さいので(512バイト)LILOの本体は入りきらない、だからLILOは二段階に分かれていてコンピュータはまずMBRの中に納まっている小さいLILOを読みに行く。小さいLILOは大きなLILOを読みに行く。
LILOの設定ファイルは「/etc/lilo.conf」です。例によって例のごとく、設定を変更したら、「/sbin/lilo」コマンドで変更を有効にしよう。ブートローダはもう一つあって、GRUBってのがある。GRUBのインストールは「grub-install」コマンドを使う。「/boot/grub/grub.conf」が設定ファイル、これは変更後にコマンドとかはいらない。勝手に有効になる。たぶん次回起動時にだと思うけど。
次はソフトウェアとかのインストール。アーカイブの解凍を覚えよう。「tar zxvf software.tar.gz」「gunzip software.tar.gz ; tar xvf software.tar」「gzip -dc software.tar.gz | tar xvf -」みんな同じ意味。
「tar」のzはZIPのzだと思う。解凍したら「./configure」を使ってMakefileを作る。「./configure」は自分の環境をチェックしてくれるらしい。Makefileにはコンパイルやリンクに必要な情報が記述される。コンパイルに必要なものが足りなかったら、警告メッセージを出して終了してしまう様だ。
コンパイルは「make」を使う。「make」が終わったら「make install」を行う。これでインストールができる。
tarボールからインストールするにはこの流れが必要なので覚えておこう。
解凍→./configure→make→make install
凄くよく纏まっていて、私みたいな初心者にはとても為になった。
Raw Device
通常のファイルシステムでは、ディスクに対するI/O処理の際に、カーネル内部のページキャッシュと呼ばれるキャッシュにいったんデータをコピーしてから、ページキャッシュ内のデータをI/Oします。ページキャッシュにいったんデータをコピーしておくことで、読み込み要求に対しては同じデータを何度もディスクから読み込む必要がなくなり、書き込みに対しては実際のディスクに対する書き込みを遅延させることができます。一般にディスクに対する物理的なI/Oがコンピュータ処理の中ではスピードの遅い部分なので、ページキャッシュを経由するI/Oを行うことにより、物理的なI/Oを低減しコンピュータのパフォーマンスを向上させることに役立ちます。
しかし、オラクルなどの商用データベースサーバーなどでは、データベース内のメモリ管理システムで、I/Oをバッファ管理してます。したがってデータベースシステムとカーネルの両方でI/Oをメモリ上でバッファ管理を行うことになり、オーバーヘッドが発生します。
RAWデバイスは、ページキャッシュを経由しないI/Oを行うので、データベースサーバーを構築する場合などは、RAWデバイスを用いることによりI/Oを2重にバッファ管理するオーバーヘッドを防ぐことができ、パフォーマンス向上に役立ちます。
ただし、RAWデバイスはファイルシステムよりも管理の柔軟性に欠けるのでメリット・デメリットをよく見極める必要があります。