履修
かならず凍結すること.
講義ホームページ †
概要 †
- 初めにはクラウド関連のインフラ技術の勉強
- OpenStack?によるクラウド環境の構築
- どういうふうに技術が使われているのかの理解を進めていく
事務連絡 †
- 演習環境接続なるところで頑張る
- ソフトのインストールが必要
- シラバスにあるアドレスから,水曜日まで,ユーザIDを登録
- 質問のアドレスもある,高橋先生のメアドにもOK
- 遅刻禁止
- カードは二階に待機,25分で事務にお願いする
演習環境 †
- 演習環境接続手順
- 接続情報
- Host
- edubase-vpn.ecloud.nii.ac.jp
- port
- Virtual Hub
- インストール(参考).まずこれのクライアントをダウンロード
sudo mv vpnclient-v3.02-7392-rtm-2011.02.28-ja-linux-x86-32bit.tar.gz /usr/local
cd /usr/local
tar zxvf vpnclient-v3.02-7392-rtm-2011.02.28-ja-linux-x86-32bit.tar.gz
cd vpnclient
make
sudo /usr/local/vpnclient/vpnclient start
/usr/local/vpnclient/vpncmd
授業メモ †
0407 †
クラウド概要 †
- さまざまなITリソースを必要なときにすぐに利用できる環境
- クラウドの定義にこだわっていた
- 「ITリソースの自動販売機」
クラウド分類 †
- public-private クラウド
- privateな理由は,セキュリティとか価格の問題
- publicは使った分だけ高くなるので,自社専用のものを作る
- 「会社内外の自動販売機」
- [S,P,I]aaS
- SaaS
- PaaS
- プログラマがアプリを開発する環境を整える.
- Google Appsなど
- IaaS (講義のメイン)
- 仮想マシンの提供
- OpenStack?, Amazon EC2
OpenStack?概要 †
- OpenStack?
- 仮想マシンインスタンス
- ボロックボリューム
- 各ユーザは特定の「プロジェクト」に所属
- 個々のモジュールの中で,どういう機能が行われているか?
- Open cSwitch, OpenFlow?は新しいが,ほとんどは今までと同じ.
- なので,基礎技術をきちんと勉強すれば,後は楽
- IaaSクラウドインフラは,「単純なものを組み合わせて,複雑なものを作り上げていく」というLinux哲学
- 基礎技術をどのように適切に組み合わせるがキモ
- (分業が激しく,これを全て組み合わせることができるひとは少ない,パーツパーツでは正しいのに動かないシステムを作るということが起きる)
OS †
- ハードウェアの吸収(ユーザにとって)
- OSを導入する管理者は,ハードウェアの違いを理解した上で適切に構成する必要がある
- デバイスドライバ
- ユーザプロセスがシステムコールによってハードウェアへのアクセスを要求→Linuxカーネルは適切なデバイスドライバを使用
- /lib/modules/3.8.0-35-generic/kernel/driversなど.
- (カーネルはいっぱいある場合がある.起動時に選べる.カーネルを入れ替えるときは,デバドラが入っているかをきちんと確認.)
- rpmを入れるとデバドラも一緒に入る?
- 起動
- 電源→BIOSが(1)ハードウェア構成チェック(2)カーネル選択を要求(3)HDDのMBRに書き込まれたブートローダ(GRUB)をメモリに読み込み→GRUB(1)バイナリを展開(2)initスクリプトを実行(必要なデバドラを実行)(3)ルートファイルシステムを
- →GRUBはカーネル選択を要求→
- MBRは/boot/, /boot/initram*が書き込まれている
- LinuxカーネルはHDDのデバイスドライバが必要なので,GRUB(2)で導入
- システムBIOSは簡易的にHDDにアクセスできる.
- 昔はHDDの先頭にしかアクセスできなかったので,Windows->Linuxでインストールすると,/bootにBIOSが届かなくて起動しないなどの問題があった.
- pax initram*をすると,/lib/modulesなどがあり,初期RAMディスクにはすでに,いろいろなデバドラが入っている!(初期RAMディスクはcpio+gzip)
- RHEL5ではinsmodで明示的に, RHEL6ではudevでデバドラをインストール
- パーティション
- /boot(200GB), /(nGB), swap(n<2GB->2*n, n>2GB->n+2GB)の三つがある.(/homeを分けることはある)
- LVM(論理ボリュームマネージャ)はおすすめしない
- 障害対応が楽
- LVMの写像を理解するのに手順が必要で大変
- UNIX時代は,パーティションをやたら分ける理由があったが,Linuxではない.
- LVM
- データベースでデータが増えるような場合に使う.
- OSを保存する領域と,データが増える領域は明確に区別し,データが増える領域にはLVM使う
- 後からデータベースの容量を増やせる.
- PV(HDD, /dev/sdX), VG(HDDs), LV(仮想ボリューム)
- pvcreate /dev/vdbでPVにしてLVMの管理下に
- vgcreate vg_data00 /dev/vdbでVGを作って,/dev/vdbをその中に.
- lvcreate -L 512M ...でlv作成
- lvextend -L+128M /dev/vg_data00/lv_data00
- ファイルシステムはフォーマットしていないので,リサイズ
- resize2fs /dev/vg_data00/lv_data00
- PV追加,マウントもできる.
- LVMスナップショットの活用
- スナップショット作成は
- アプリ停止
- ファイルシステムアンマウント
- スナップショット作成
- ファイルシステムをマウント
- アプリケーション再開