わかったつもりになってない?

わかったつもり防止のために、日常で学んだことをもう少し深堀したいブログ

【AWS】CodeStar + Cloud9でRuby on Railsを動かす手順まとめ

ども。久しぶりの更新です。年始にprogateってサービスでプログラミング学んでから、気が向いたときにRuby on Railsで遊んでるのですが、開発環境作りに結構手間取ったのでAWSのCodeStar+Cloud9でRuby on Railsを動かす方法についてまとめておきたいと思います。同じように悩む人が少しでも少なくなれば嬉しいです。 

なお、この記事は2018年6月17日に書いたものであり、その後のAWS側の変更次第では以下の通りに実施しても動かない可能性があるのでご了承ください。

1.AWS上でCodeStar,Cloud9登録

1-1.Cloud9利用可能リージョン選択

まずは、Cloud9が利用可能なリージョンを選択します。残念ながら日本(東京、大阪)リージョンは利用不可なので、ここではオレゴンリージョンを選択します。

 

対応しているリージョンは以下を参照していただければと思います。

リージョン - グローバルインフラストラクチャ | AWS

 

f:id:gattsu09:20180617091934p:plain

 

1-2.CodeStarで新規プロジェクト作成

続いて、サービスを選択して、「開発者用ツール」の「CodeStar」を選択します。

f:id:gattsu09:20180617091939p:plain

 

AWS CodeStarの画面が表示されるので「新規プロジェクトの作成」を選択します。

f:id:gattsu09:20180617091942p:plain

 

1-3.Ruby on Rails(EC2)選択

そのあと、いろいろ開発環境の候補が出てくるので、ここでは「Ruby on Rails,Amazon EC2」を選択します。

f:id:gattsu09:20180617091946p:plain

1-4.プロジェクト名とソース保存レポジトリ選択

プロジェクト名(ここでは「RubyProject」と入力)を決めて、ソース保存レポジトリを選択します。アカウントを持ってる場合は、日経曰く「設計図共有サイト」らしいGitHubを選択すればよいと思います。僕は持ってないのでAWS CodeCommitを選択しました。

f:id:gattsu09:20180617091950p:plain

で、「プロジェクトを作成する」ボタンを押しましょう。

f:id:gattsu09:20180617091955p:plain

1-5.キーペア選択

ログインに利用する、キーペアを選択します。過去にキーペアを作成したことない場合は、サービスから「EC2」-「N個のキーペア」-「キーペアの作成」を選べば作成できます。

f:id:gattsu09:20180617091959p:plain

1-6.コード編集方法選択

コードの編集方法をせんたくします。ここでは当然「AWS Cloud9」を選択します。

f:id:gattsu09:20180617092003p:plain

1-7.EC2のタイプ選択

EC2のタイプを選択しましょう。無料枠で納めたい場合は「t2.micro」を選択します。

f:id:gattsu09:20180617092009p:plain

1-8.待ち

ようやく登録が完了して、セットアップが始まります。青色の2つの丸がくるくる回っているので15分くらい待ちましょう。そのうち緑色に変わればセットアップ完了です。

f:id:gattsu09:20180617092013p:plain

 

1-9.サンプルアプリ表示

緑色になったら、「アプリの表示」をクリックすると、サンプルアプリが表示されます。

f:id:gattsu09:20180617092017p:plain

なんか凄い

f:id:gattsu09:20180617092022p:plain

 

1-10.Cloud9表示

横の「コーディングの開始」を選択するとCloud9の画面に遷移します。ブラウザだけでここまでできるとか、この先の世の中ネイティブアプリとか無くなるんじゃないのって思っちゃいますね。

 

f:id:gattsu09:20180617092026p:plain

 

CodeStar + Cloud9の登録は以上となります。

 

2.Cloud9の設定

続いて、Cloud9の設定に移ります。Cloud9のRuby on Railsは何故か以下の問題を抱えているので、こちらで設定してあげないと動きません。環境変数はともかく、他はマジでなんでなんだろう。

 

・gem listコマンドの結果とGemfileの内容が一致しない。
・Ruby on Railsプロジェクトのディレクト配下にbinフォルダが存在しない。
・SECRET_KEY_BASE環境変数の設定がされていない。

 

2-1.Gemfileの内容にgem listを合わせる

つーわけで、一つづつ解消していきます。Gemfileってのはgem(rubyのパッケージを管理するツール)の依存関係を管理するファイルらしいです。ジェムって読むらしいですね。ずっとゲムだと思ってた。

 

Cloud9はデフォルトでGemfileのパッケージ内容と実際に導入されているパッケージに差分があるためコマンドとかが上手く動きません。本当になぜなんだ…。

 

ec2-user:~/environment/test (master) $ head Gemfile
# Bundle edge Rails instead: gem 'rails', github: 'rails/rails'
gem 'rails', '5.0.6'

ec2-user:~/environment/test (master) $ rails -v
Rails 5.2.0

↑Gemfile情だとrailsのバージョンは5.0.6なのに、実際導入されているrailsは,

5.2.0

 

この問題を解消するために、Cloud9の下側にあるターミナル画面で「bundle install」コマンドを実行します。その前に、プロジェクトのフォルダに移動するのを忘れないでください。エラーになります。

ec2-user:~/environment $ cd rubyproject
ec2-user:~/environment/rubyproject (master) $ bundle install

The dependency tzinfo-data (>= 0) will be unused by any of the platforms Bundler is installing for. Bundler is installing for ruby but the dependency is only for x86-mingw32, x86-mswin32, x64-mingw32, java. To add those platforms to the bundle, run `bundle lock --add-platform x86-mingw32 x86-mswin32 x64-mingw32 java`.
Fetching gem metadata from https://rubygems.org/.........
Fetching gem metadata from https://rubygems.org/.
Resolving dependencies.....
Fetching rake 12.3.1
Installing rake 12.3.1

<略>

なお、Rails系のコマンドはプロジェクトフォルダ内で実行しないと概ねエラーになります。ターミナルを新規起動する度移動する必要があるので注意しましょう。

 

コマンド実行後、再度確認するとrailsのバージョンがGemfileと同じになったことが分かります。バージョン下がっちゃいましたが、ここでは取り合えず動く環境を作ることを目標にしていますので良しとします。

ec2-user:~/environment/test (master) $ rails -v
Rails 5.0.6 

 

2-2.binフォルダ作成

続いて、以下コマンドでbinフォルダを作成します。

ec2-user:~/environment/rubyproject (master) $ rake app:update:bin

できた。

ec2-user:~/environment/rubyproject (master) $ ls -ltr bin
total 20
-rwxr-xr-x 1 ec2-user ec2-user 782 Jun 17 05:03 update
-rwxr-xr-x 1 ec2-user ec2-user 920 Jun 17 05:03 setup
-rwxr-xr-x 1 ec2-user ec2-user 90 Jun 17 05:03 rake
-rwxr-xr-x 1 ec2-user ec2-user 141 Jun 17 05:03 rails
-rwxr-xr-x 1 ec2-user ec2-user 129 Jun 17 05:03 bundle

2-3.SECRET_KEY_BASE環境変数設定

このままだと、rails起動に必要な「SECRET_KEY_BASE」という環境変数が設定されていないため、プレビュー画面を見ても以下のエラーが発生してしまいます。

Puma caught this error: Missing `secret_key_base` for 'development' environment, set this value in `config/secrets.yml` (RuntimeError)

というわけで設定していきましょう。以下のコマンドを実行すると「SECRET_KEY_BASE」環境変数に値が入って、ちゃんと起動するようになります。

$ rake secret > ~/.taskapp_secret_key_base
$ cat ~/.taskapp_secret_key_base
<長い文字列が表示される>
$ export SECRET_KEY_BASE=`cat ~/.taskapp_secret_key_base`

毎回実行するのがめんどくさい場合は、「.bash_profile」にexportコマンドを登録してあげればよいです。

$ vi ~/.bash_profile

 以下を登録して保存。

export SECRET_KEY_BASE=`cat ~/.taskapp_secret_key_base`

 2-3.Ruby on Rails起動

以下コマンドでRailsを起動します。progateの時と違って開発環境ではバインドするIPを指定するフラグが必要らしいです。

rails s -b $IP

 

2-4.動作確認

以上でCloud9の設定は完了です。では、progateででてきた「rails generate controller home top」コマンドをプロジェクトフォルダ(ここでは「rubyproject」)配下で実行して表示を確認してみます。

$ rails generate controller home top
create app/controllers/home_controller.rb
route get 'home/top'
invoke erb

<略>

 Cloud9の「Preview」から「Preview Running Application」を選択します。

f:id:gattsu09:20180617143758p:plain

何故か真っ白なプレビュー画面が表示されるので、左上のボタンをクリックします。

f:id:gattsu09:20180617143942p:plain

 

ブラウザの別タブにRailsのプレビュー画面が表示されるので、アドレスの後ろに「/home/top」と入力します。

f:id:gattsu09:20180617144246p:plain

デフォルトでcssの設定がされてあるので、色ついてますが表示されました。設定は以上になります。

 

3.その他の注意点

その他、CodeStar+Cloud9を使用する際の注意点を書いてみます。主に料金系ですね。その他、思いついたら追記していきます。

 

3-1.EC2インスタンスは自動で停止しないことがある

Cloud9は30分操作しないとEC2インスタンスを自動で停止する機能があるのですが、なぜかたまに停止してくれないことがあります。起動したままにしておくと、思わぬ料金が発生することがあるので注意しましょう。

 

3-2.ディスク使用料が無料枠を超えていないか注意

CodeStar+Cloud9で環境を作るとEC2インスタンスが自動で2つ作成されます。それぞれのインスタンスに8GBのディスクが割り当てられており、それだけで16GB使ってしまいます。無料で使用できるディスクは30GBまでなので、無料内で納めたい場合は、作る環境は一つまでにしておきましょう。

 

 4.最後に

以上でこの記事は終わりです。一応、初めての方でもわかりやすいように書いたつもりなのですが、「わからない」「書いてる通りにやっても動かない」とかあれば見直すので教えていただければと思います。

 

また、有識者の方々におきましては、誤っている点や、もっと良い手順があれば優しく指摘していただければ嬉しいです。

 

ではでは、サクッと環境を作ってプログラミングを楽しみましょう!

合格体験記 LPIC102(ver4.0)

ども。去年LPIC201に合格したとき、期限が切れてた101,102を年内に再取得できればいいなぁとか書いてたのですが、気が付けば年が明けて2月も半ばですね。あけましておめでとうございます。

 

合格体験記 LPIC201(ver4.5) - わかったつもりになってない?

合格体験記 LPIC202 (ver4.5) - わかったつもりになってない?

 

年明けてからProgateってWebサービスでプログラミング学んだりして遊んでたのですが年度内には取っちゃいたいので、今週勉強して無事LPIC 102受かりました。先に201,202から攻めていくことは希だと思うのであまり参考にならないかもですが残しておきます。

 

受験日

2018/2/12

 

取得点

640

 

勉強期間

1週間(一日平均2時間くらいでトータル15時間くらい)

 

使用テキスト

無し

 

参考にしたサイト(Web問題集)

Ping-t

 

勉強方法

今回実機は使用せず、ひたすらPing-tの問題を解きながら学びました。先にLevel2を取得している身としては、余裕だろうなーとか思ってたのですが、結構初見(覚えていない)問題が多くて焦りました。

 

特に、ディスプレイマネージャや、プリンター周りが覚えていなかったので、重点的に勉強。全て金になるまで説いたあと、前日に学習履歴を全て削除して、再度金になるまで解きました。

 

これから勉強する人は、とりあえずPing-tのWeb問題集を9割り以上解ける状態にして挑めば、そうそう落ないんじゃないかなと思います。

 

所感

流石にここで落ちたら恥ずかしいなとか思っていたので、無事受かって一安心です。

 

今後

というわけで、年度内にLPIC Level2の取得を目指して、ボチボチ勉強していたのですが、残すところはLPIC 101のみとなりました。2月中には取得できるよう頑張ります。

合格体験記 LPIC201(ver4.5)

ども。先月LPIC202に合格したよ!っていう記事を書いたのですが、本日LPIC201に合格したので同じように誰かの参考になればと書いていきます。

gattsu09.hatenadiary.com

 

普通201,202と攻めていくのですが、なぜ逆かというと201は以前合格したのですが、有効期限(5年)が切れていて、そのことをすっかり忘れていたためになります。5年って早いね!ちなみに101と102も期限切れてるよ!

 

受験日

2017/12/3

 

取得点

590

 

勉強期間

3週間(一日平均2時間くらいでトータル5,60時間くらい)

 

使用テキスト

無し

 

参考にしたサイト(Web問題集)

Ping-t

 

勉強方法

各セクションのPing-tの問題をまずは解く。大抵わからないので、解答をしっかり読む。出てきたコマンドの内、今まで使ったこと無いやつについては、AWSの無料枠を利用して実際にコマンドを打って結果を確認する。…をひたすら繰り返しました。(Ping-tのコマ問については未実施)

 

AWSはAmazon LinuxとRed Hatを主に使ってましたが、デフォルトでは入っていないコマンドが結構あり、その都度しらべてyumでインストールしてました。入ってなくて、インストール方法がわからない場合は机上での勉強のみです。

 

所感

 実際に動作を確認できたコマンドについては理解が進むのですが、以前書いたとおりAWS上だと実行不可と思われるコマンド(ブートローダとか、無線コマンドとか)については理解がイマイチで点数も取れていませんでした。。。

 

特にカーネルの項目が壊滅的だったので、復習します。

 

今後

というわけで、理解がイマイチだったところは復習しつつ、期限が切れてたLPI101,102を勉強していきます。今年中に取れればよいなぁ。

Linuxの無線デバイス/インターフェイス設定コマンドまとめ

ども。LPIC201の学びで、ディスク周りは一通り終わって今度はネットワーク周りで遊んでいる昨今です。

 

んで、無線周りのコマンドがAWSでは触れなくて、理解がイマイチなのでカーネルの時と同じくGoogleスプレッドシートにてチートシート的なものを作成したので公開しときます。

 

無線デバイス/インターフェイス設定コマンド

 

iwコマンドについてGoogle先生とかに聞いてみたのですが、なかなか良い感じの解説がないですね。。。良いサイトがあれば誰か教えてください。

 

参考にしたサイト

ネットワーク管理の基本Tips:端末からアクセスポイントの情報を調べるには? iwlistコマンド - @IT

ネットワーク管理の基本Tips:無線LAN接続の設定を操作するには? iwconfigコマンドの使い方 - @IT

【AWS】EBSでRAID1+0をやってみたメモ ~後編:EBSのアタッチからRAID構築~

ども。前回はRAIDってなんぞや?について書きましたが、今回は実際にAWS触ってRAIDを組んで行きたいと思います。 

EC2インスタンス作成

なにはともあれ、AWSコンソールにログインしてEC2インスタンス(仮想サーバ)を作成。ここら辺の手順は端折ります。今回のOSははAmazon Linuxを指定。

 

作成前のディスク状態をlsblkコマンドで確認。ディスクはxvdaのみ存在します。

f:id:gattsu09:20171125225751j:plain

EBS作成

EBS(Amazon Elastic Blok Store)とは何かと言うと、要は外部ディスクですね。EC2インスタンスに対してAWSコンソール上で簡単にアタッチ(接続)/デタッチ(切断)できるとのこと。

 

EC2インスタンス作成時に、複数EBS作ることもできるのですが、今回は後から作成してみました。

N個のボリュームをクリック

f:id:gattsu09:20171125230153p:plain

ボリュームの作成をクリック

f:id:gattsu09:20171125230322p:plain

サイズを1GiBに変更し、ボリュームの作成をクリック

f:id:gattsu09:20171125230546p:plain

※ 注意!EBSサイズの合計が30GiBを超えると無料枠外となり料金が発生します。

 

f:id:gattsu09:20171125230837p:plain

できました。これを後3回繰り返します。

EBSアタッチ(接続)

では、作成したEBSをEC2インスタンスに接続します。

対象のEBSを選択後、右クリックし「ボリュームのアタッチ」をクリック

f:id:gattsu09:20171125231232p:plain

インスタンス欄にて作成したEC2インスタンス名を選択しアタッチをクリック

f:id:gattsu09:20171125231414p:plain

これを、作成したEBS全てに行います。

再度lsblkコマンドで確認

f:id:gattsu09:20171125231732j:plain

ディスクが増えました!

mdadmコマンドインストール

以下コマンドでRAID管理用のコマンドをインストール…と思ったら既にAmazon Linuxには入っていました。昨日Red Hatで試したときは入ってなかったんですがね。ない場合は適時入れましょう。

sudo yum -y install mdadm

RAID1(ミラーリング)設定

では、ようやくRAIDを組んでいきます。まずは以下コマンドでEBSを2づつミラーリングしていきます。今回は、/dev/xvdgと/dev/xvdiでミラーリング。

sudo mdadm --create /dev/md0 --level=1 --raid-devices=2 /dev/xvdg /dev/xvdi

f:id:gattsu09:20171125233020j:plain

ブートデバイスとして適してないです的なメッセージが出ますが、ブートデバイスでは無いので「y」を入力すると作成できました。続いて残りの/dev/xvdhと/dev/xvdfも同じコマンドでミラーします。

sudo mdadm --create /dev/md1 --level=1 --raid-devices=2 /dev/xvdh /dev/xvdf

lsblkコマンド実行結果。それぞれのディスクがmd0,md1に属してます。

f:id:gattsu09:20171125233525j:plain

「/proc/mdstat」ファイルをcatするとRAID情報が見れます。

f:id:gattsu09:20171125233854j:plain

これで、それぞれのディスクでRAID1が組めました。

RAID0(ストライピング)設定

では最後に作成したRAID1のデバイスである「/dev/md0(xvdgとxvdiのペア)」と「/dev/md1(xvdfとxvdhのペア)」でRAID0(ストライピング)を組みます。

sudo mdadm --create /dev/md2 --level=0 --raid-devices=2 /dev/md1 /dev/md0

f:id:gattsu09:20171125235042j:plain

md0とmd1はRAIDアレイですよとのメッセージが出てきたのでyを入力。無事作成できました。

 

mdstatファイルは以下のようになりました。md0とmd1でRAID0が組めていることが確認できます。

f:id:gattsu09:20171126000706j:plain

ファイルシステム作成

作成したRAID0のディスクを実際に使っていきます。

sudo mkfs -t ext4 /dev/md2

f:id:gattsu09:20171125235459j:plain

マウントしてサイズ確認1GiBのEBS4本をRAID1+0したので、サイズは2.0Gになりましたね。 

f:id:gattsu09:20171125235601j:plain

 

というわけで、RAID1+0できました。眠いので自動マウント設定と、パフォーマンスチェックはまた後日に行いたいと思います。

参考にしたサイト

Linux Enterprise Server 11 SP2

Linux での RAID 構成 - Amazon Elastic Compute Cloud

【AWS】EBSでRAID1+0をやってみたメモ ~前編:そもそもRAIDって何?~

ども、昔合格したはずのLPIC201について再度学習中ですが、5年以上前に学んだこととか全然覚えてませんね。

 

というわけで、LPIC201の試験範囲であるLinuxのRAIDについて学んでいきます。前はたしかVMwareにCentOSとか入れてガチャガチャ弄った記憶がありますのが、今回はAWS使って学びますよ。

そもそもRAIDって何?についておさらい

まぁ、なんというか「ディスク管理の基礎」的な扱いのRAIDについてですが、改めて自分の言葉で書いたりすると理解が深まったり、間違ってたら指摘頂けるかもしれない感じもするので、おさらいも兼ねて書いてみます。このブログの趣旨でもありますしね。

 

ちゃんとした情報が知りたい人はQiita先生Google先生にでも聞きましょう。

 

RAIDの目的

 RAIDの目的は大きく分けて「ディスクへのアクセス高速化」と「ディスク障害の耐性強化」の2つあります。んで、そのどちらか、又は両方のパフォーマンスを上げるために色々な方法が考えられていて、方法ごとに0から始まる番号が振られています。

 

尚、「0」が「ディスクへのアクセス高速化」の為の方法で、「1」以降の番号は「ハード障害の耐性強化」の方法になります。「0」だけ特殊。

 

ちなみに今、RAIDの番号って「0」から始まって…何まであるんですかね。少なくとも2017/11/22現在のWikipediaだと「6」についてまで記載がありました。Google先生に「RAID7」とか聞いてみても30万件以上Hitします。僕のお仕事上触ったことあるのは「0」,「1」,「5」だけで、「6」も割と使われているらしい。

 

RAID0(ストライピング)

では、具体的なRAIDについてざっくり書いていきます。RAID0だけ他の番号と違って「ディスクへのアクセス高速化」のみの役割を担っています。

 

高速化についてそもそもの話で「ディスクめちゃくちゃ遅い」問題があります。SSDとかディスクの高速化が目覚しい昨今でありながら、Qiita先生によると2016年時点でディスクはメモリより1000倍は遅いらしい。

 

1000倍って言われるとよくわからないので単純な距離に例えると、ディスクが東京から名古屋まで行ってる間に、メモリは月面に到着しています。余計わかりません。とにかく、ディスクめっちゃ遅い。 

f:id:gattsu09:20171122225641p:plain 

なので、メモリが高速で書き込もうとしても、ディスクが遅すぎるせいで待ちになっちゃうんですね。その問題を解決…というかマシにする為に生まれたのがRAID0です。

 

その方法というのが、「ディスクを増やしてアクセスを分散させる」です。遅いのなら数を増やして仕事を分割させればいいじゃない…ということですね。感覚的にもイメージしやすいかと思います。

f:id:gattsu09:20171123111219p:plain

メリット

というわけで、メモリが早すぎるおかげでディスクを増やせば増やすほどアクセスが早くなります。後、こちらは副次的な効果だと思うんですが、上図でいうと3本のディスクを1本のディスクとして扱えるため、容量の少ないディスクしかなくてもRAID0で合わせれば、大容量のディスクを作れます

 

デメリット

当然デメリットもあって一言で言うと「壊れやすくなる」です。複数のディスクを一つのディスクとして見なすRAID0ですが、そのディスクの内どれか一つでも壊れると使用不可になります。

f:id:gattsu09:20171123113034p:plain

なので、早くなるメリットは大きいんですが、なかなかRAID0単体で使うことはないんじゃないかなぁと思います。

 

RAID1(ミーラーリング)

 続いてRAID1のミラーリングについて書いていきます。こちらはRAID0とは違って、「ディスク障害の耐性強化」が目的になります。

 

そもそもの話で「ディスクはいつか絶対に壊れる」問題があります。まぁ、ディスクだけに限らずハード全般に言える話ですが…。なので、いつかディスクが壊れてもシステムに影響出ないようになんとかしよう…というのがRAID1以降(0以外)の考えとなります。 

 

んで、RAID1はミラーリングって言うくらいなので、ディスクに書き込む際、同じ情報2つ以上のディスクに書き込むことで、ミラーディスクを作成します。

 

f:id:gattsu09:20171123120040p:plain

メリット

RAID1で構成するディスクは2本以上で可能なので、RAID0とは逆に「ディスクを増やせば増やすほどディスク障害の耐性が増す」になります。3本で構成すれば2本まで壊れてもシステムに影響はでませんね。

 

デメリット

デメリットですがミラーを作るわけなので、「いくらディスクを増やしても1台分の容量しか使えない」です。100GBのディスクを3本用意したとして、RAID0なら300GB使えますが、RAID1だと1台分の100GBしか使えません。

 

また、複数のディスクに書き込みに行くわけなので、その分のリソースが余計にかかり、アクセス速度が低下します。(少なくとも早くはなりません)

 

RAID1+0について

ようやく今回やりたいRAID1+0についてですが、端的に言うとRAID0と1をかけ合わせて、「ディスクへのアクセス高速化」と「ディスク障害の耐性強化」の両方を実現したいというのが今回の目的です。実際の手順は後編で…。

 

f:id:gattsu09:20171123122643p:plain

 

雑なイメージですいません。以下の記事が分かりやすかったです。

 

https://note.cman.jp/server/raid/raid01/

 

後、細かいですが、RAID0+1とRAID1+0とでは、「ストライピングのグループをミラーする」のか「ミラーのグループをストライピングする」のかとで意味が異なるみたいです。同人誌の掛け算(カップリング表示)みたいですね。

その他のRAIDについて

書き始めの頃はRAID5についても書こうかと思っていたのですが、長くなったのと疲れたのと(おい)、AWSではRAID5,6は非推奨みたいなのでここでの記述は割愛します。

 

Linux での RAID 構成 - Amazon Elastic Compute Cloud

 

そもそも、AWSのハードウェアは内部で障害に強い造りになっているので、RAIDは書き込みを高速化させるために「0」が選ばれることが多いとのこと。「Amazon Web Services 実践入門」に書いてました。

 

SSDの障害について

余談ですが、SSDはフラッシュメモリを使用しているため、中で円盤が回っているHDDより壊れにくい印象がありますがググってみると結構壊れた事例が出てきますね。

 

パソコンのSSDが故障した顛末 - 迎え角30deg.

Intel製SSDのX25-M(80GB)が壊れた、その前兆と修理までの軌跡 - consbiol のエコ日記

 

壊れ方(予兆)もHDDとは少し異なるよう。仕事ではHDDのサーバしか扱ったことがないので、SSDが主流になってきたら切り分けに難儀しそうだなぁと思いました。後、RAIDコントローラーは上手いこと自動対応してくれるんだろうか…。こちらは今後の課題とします。

Linuxブートローダ チートシート

どうも。寒いですね。

 

以前「LPI Level2 Exam 202」の試験に合格した記事を書いたのですが、なんと過去に合格した201以下の期限が切れていたみたいなので、再度勉強中な昨今です。

 

んで、201のブートローダについて勉強しているのですが、残念ながら僕的にはあまり興味を惹かれず、全然頭に入ってこない上に、GRUB LegacyとGRUB2の差異がややこしすぎるので、Googleスプレッドシートにてチートシート的なものを作ったので公開します。

 

随時更新予定。間違とか指摘いただけると嬉しいです。

 

Linux ブートローダ

 

参考にしたサイト

http://www2.it-shikaku.jp/top30.php?hidari=101-02-02.php&migi=km101-02.php&bk=1

http://www.turbolinux.co.jp/products/server/11s/user_guide/x395.html

http://www.turbolinux.co.jp/support/document/knowledge/277.html