nakayumcの技術ブログ

エンジニア2年目のブログです。

新卒入社して3か月が経ちました

はじめに

お久しぶりです。nakayumcです。 このたびブログ変更しました。

4月から新卒入社して社会人になりました。

最近梅雨入りしたと思えば、もう梅雨明けも発表されてしまい、季節の流れの速さに驚いてます。

あと、環境がものすごい変わり、最近まで焦りと不安で、仕事が憂鬱になることが多かった印象があります。
これが五月病ってやつなんだなと実感しました。

今日は、今の心境とか、このときはこんなこと考えてたんだってこと後で自分自身も見返せるように自分の視点からいろいろ書いていこうと思います。

ちなみにこういうの書くのとないので結構緊張してます。なので何か気になることがあったら@nakayumc0278まで直接連絡いただければと思います。

入社して思ったこと

4月1日、今まで入社前に何度か会社に行ったことあったけれど、入社後の初出社はとてもわくわくと緊張がありました。
初めて自分の名刺をもらった時も「あぁ、社会人になったんだ」って実感しました。

ただ、不安になることもありました。
「ただお金をもらえるだけ相応の価値を与えられる人間になんてなれるのか」という点と、「同期とか周りが凄い方々なので、ついていけるのか心配」という点です。 そのほかにもたくさんあります。

研修と仕事について

4月から研修が始まって6月末までは入社時研修ということで、

について本格的に学習してきました。

明日から配属となりますが、個人的には入社前から希望していた部署でもありそこに配属させていただくこととなったので、 とてもうれしいです。が、強い人ばかりなので、こんな自分がついていけるのかとても不安です。

配属後の目標

最初は部署内で研修があるので、それをこなしつつ、
「自分が今できることは何なのか」、「いま自分は何をすべきなのか」、「受け身ではなく能動的に行動する」ということを意識して行動していきたいです。

あとは、「わからないことがあればすぐ調べる、それでもわからないことがあれば聞く」ということ徹底していきたいです。 あと、業務するうえで必要なスキル(会議の議事録とか)を習得できたらなと考えてます。
(そもそもタイピング遅いのでできるのか不安ですが・・・・・・)

そのほかにも必要な目標は立てていきたいです。

現状とこれからの資格について

結論から話すと、なにも取れませんでいた。 CCNAを研修期間中に受けたかったのですが、
技術研修が難しすぎてなかなか勉強できなかったのと、だらだらしすぎてしまったのがあり、受けることができませんでした。
なので、CCNAは7月以内に絶対に受験します。

今後の流れとしては、

  • 7月 CCNA
  • 10月 基本情報
  • 12月 AZ-900
  • 2月 Python認定試験 といういう感じで考えてます。

特に基本情報は取得するとなにかよいことが起きるらしいので、絶対に合格しないといけないですね。

これからの生活について

入社してからまだ数回しか出社しておらず、ほぼ在宅勤務です。
なので、ほぼ椅子に座っていることが多すぎて、肩こりがすごいです。

配属させていただく部署だと、年に数回しか出社することがないので、
もっと肩こりしてしまうじゃないかって考えてます。温泉とか行って浸かりたいですね。

あと運動しないといけないですね、ランニングとか筋トレとか。頑張ります。
ジムが自転車で15分くらいの場所にあるので、行ってみたいです。

光ファイバーケーブルが壊れたので自分で直してみた

はじめに

先日ひかり回線のファイバーを自力で直せたので備忘録として記録しておきます。

これは光コンセント(光ローゼット)です。

これから書くことは、この図のように赤く囲まれている黒い線、つまり電線側に繋がっている線の直し方です。下のONU(黒い箱のルーター)に繋がっている線を壊した方はAmazonとかでSCケーブルを購入することで簡単に直せます

しかし、上に生えている線を直すのはとっても難しいです。 でも、派遣工事を依頼して高いお金(一番高くて2万[2]ほど)払うより自分で直した方が安いと思ったので挑戦してみました。

なぜ壊したのか

ファイバーってどうなってるんだろう・・・って興味が沸いて分解したら壊れました。とても反省しております。

必要なもの

以下が必要なものです。

左から、 ・SCコネクタ ・ファイバーカッター(グレーのやつ) ・ファイバーストリッパー ・光パワーメーター です。

本当はこういうワイヤーストリッパーがあれば、外皮をもっと簡単に取れたのですが・・・ なかったのですごく苦労しました。

直し方

この操作を行ったことによる損害が発生しても責任は負えません。 自己責任でお願いいたします。

1.まず、端をニッパーなどで切り落とします。右図のようにスパッと切り落とすとよいと思います。

2.次に外皮を裂きます。 これがすっごく堅くて、何度も挑戦しました。光ファイバーを保護している硬いワイヤーのような物が邪魔をしてうまく裂けません。

2回目でやっと裂けました。が、こんな感じでファイバーと外皮が癒着しちゃいました。 爪楊枝のようなもので突っついてあげると、まっすぐファイバーが出てきました。 でもこれだけでは長さが足らないので、右図のようにもうちょっと外皮を裂きました。

3.外皮を切断していきます。 下図のように裂いた外皮を切断します。このとき、ファイバーを傷つけたり切断したりしないように注意してください。

4.ファイバーの皮膜を剥く

次に、ファイバーの青い皮膜を剥ぎます。 このストリッパーは2つの穴が空いていて、下の穴で青い皮膜を剥くことが出来るようになっています。

このように掴んであげて、引っ張ると透明のファイバーが出てきました。 これがファイバーです。なんかかっこいいですね。

5.ファイバーカッターでファイバーの先端を切断します 先端の断面をまっすぐにするために切断していきます。コツとしては、「まっすぐに切断すること」です。シャープペンシルを使った後のシャー芯の断面みたいに斜めになっているとうまく通信できません。

5-1.まず、カッターを手前に引き出します。 ファイバーカッターにファイバーをセットします。中心にある▲がカッターです。 セットができたら右のようにカバーを閉めます。

5-2.先程引き出したカッターを押します。これで切断することができました。 右の図のようになっていれば切断成功です。

6.ファイバーをSCコネクタと接続する

次に切断できたファイバーをSCコネクタと接続します。

SCコネクタは3つの部品で構成されています。 説明すると、 ・一番長い部品:光ファイバーを差し込む部品です。 ・青い部品:先端をコネクタとして固定する部品。一度刺すと外れなくなるので、最後に刺します。 ・丸い部品:ファイバーを固定する部品です。

ゆっくりファイバーを差し込んでいきます。コツとしては、余った青い光ファイバーをちょっと曲げる感じで接続するとよいと思います。曲げすぎ注意

差し込めたら、透明の褐色部分をOFFからONに上げます。これで光ファイバーが固定できました。

これで最後です。 根元を固定して、青い部品(向き注意)を差し込んだら先端のカバーを外せば、SCコネクタの成端ができました。お疲れ様でした。

7.(余裕があれば)信号強度を計測する

これは余裕があればですが、信号強度を計測します。この画像では850mm  になっていますが、NTTの光回線は1480 – 1500 nmで通信しているようです[3]。計測してみて、10~20dBm [3]以内であると良いようです。

まとめ

最初はできないかと思いましたが、無事光回線復活しました。よかったです。

 

参考文献

[1]自分で光ファイバーケーブル加工 その1 [2]ドコモ光の故障や通信障害など不具合発生時の5つの対処法 [3]フォトニックアグリゲーションによる高速光アクセスネットワークの省電力化・高機能化の研究

ICTSC2021夏の陣に参加してみたので感想など

8/28~8/29で開催された、ICTSC2021 夏の陣に専門学生5人組でチーム名 オ〇フェーブルを実装してください! で参加しました。 チーム名、私はよくわかりませんが、ウ〇娘関連のなんからしいです(?)

最終的に順位が確認できた時点での結果としては 11位で1425点でした。 メンバー全員が初めてトラコンに出ましたが、初めてにしてはかなり解けていたんじゃないかなぁって気がします。みんな頑張った。みんなえらい🌝

参加前

先生に誘われて、「トラコンってどんな感じなんだろう…?やってみたい」と思い参加を決めました。 過去問を見てもどうすればいいのかわからなかったのでぶっつけ本番でいきました。

本番での流れ

1日目

9:30 学校に集合。同じ学校内でも他チームもいました。 9:30~10:00 VNCクライアントのセットアップと踏み台サーバへのアクセスをしました。 10:00~12:00 問題が公開されたのでみんなで問題を見ながらDiscordで「これやります」って宣言しながらやりました。 12:00~12:30 お昼休憩 12:30~16:30 午後も同じようにみんな集中してやっていました。できたときはみんなで「やった!!」って喜んでました。

1日目は6位で、975点でした。結構できたと思う。

2日目

9:30 1日目と同じように学校に集合。開始前にこんなスプレッドシート作ってみんなで共有するようにしました。 10:00 踏み台サーバへのアクセスをして各自問題を解いてました。 10:00~12:00 各自問題解いてました。 12:00~12:30 お昼休憩 12:30~16:30 午後もみんな頑張って問題解き。

本番で私が触れた問題の感想

私はサーバ系の問題を主に解きました。解いた問題を紹介していきます。

解いた問題

ンジンエックス 150pt

curl --http2 localhost してもリソースが取得できない! ・sudo /usr/local/nginx/sbin/nginxで実行時にエラー吐いてて起動しない! これらの問題を解決する問題でした。

あとはホームディレクトリにnginx-1.21.1が既に置いてあって、再展開するために用意されていました。 最初、とりあえずエラーを見るためにsudo /usr/local/nginx/sbin/nginxを実行してみると 「http_v2_moduleのモジュールが足りないから実行できないよ」ってエラーが出ました。

コンパイルするときに必要なOpenSSLのモジュールがどこにあるのか分からなかったので、ここからwgetでもってきて踏み台サーバからscp使って問題サーバに転送させました。

http_v2_moduleのモジュールを追加する方法を検索したら、nginx-1.21.1内で./configure --with-http_v2_module を追記して再展開すればできるということがわかったので、このコマンドを実行して makemake installをしました。

これでもう一度sudo /usr/local/nginx/sbin/nginxをすると起動できたので curl --http2 localhost と打ったらcurl: (1) Received HTTP/0.9 when not allowedと怒られたので/usr/local/nginx/conf/nginx.confに以下を追記しました。

listen 443 http2;
↓
listen 80;

これを提出したら満点を取ることができました。

頑固なindex.html 150pt

OSを再起動すると編集したのにindex.htmlが元の状態("Welcome to ICTSC"とだけ書かれた状態)に戻ってしまうのでそれを治して欲しいという問題でした。

まずは、cronとかsystemdが悪さしているのかな、とかlinux起動時に自動的に実行するコマンドが原因なのかなと思って検索したんですが良い文献が見つかりませんでした。 なのでとりあえず / 以下で grep -rl 'index.html' と検索すると,/etc/tmpfiles.d/以下に ictsc.conf というファイルがあって、'Welcome to ICTSC'と書かれたファイルがあることが分かったので、rm -rf ictsc.conf(良くない)コマンドで永遠に消えてもらいました。 tmpfiles.d について調べると、OS起動時にファイルを作るスクリプトを置く場所らしいです。 これを記述して満点もらうことができました。

その他にも、サーバ気象予報 150ptの問題や、何もしてないのに壊れた! 150ptの問題をやって2日間が終わりました。 初めてにしては結構頑張れていたのかなと考えてます。

感想・所感

難しいトラブルの問題が多かったですが、解決できた時の達成感が得られてとても楽しかったです!

私はサーバ系は結構できていた感じはしていますが、ネットワークの問題やk8s、dockerなどは全く知見がなく、手を出すことができませんでした。

運営さん、コンテストを開いていただきありがとうございました!! 去年は色々あったみたいですが今年も開催されて良かったです。 冬にももしかしたらあるらしいのでまた機会がありましたら是非参加していきたいです。皆さんお疲れ様でした。

1週間でCompTIA Secrity+ に合格した話

2022/05/20 追記: リンクが一部開けなかったので修正いたしました。

TL;DR

取得した経緯

昨年の6月頃に学校で、先生がCompTIA Security+のバウチャ2枚あるけどほしい人?に手を挙げてバウチャチケットを頂いていたのを忘れていて、 1週間で取得できたので書いていきたいと思います。

CompTIA Sec+とは?

CompTIA Security+ は、世界中で提供している資格試験の一つで国内のみならず海外の企業もこの資格を認知している世界的に有名な資格です。

CompTIA Security+は、ベンダーニュートラルの認定資格です。Security+認定は、業務を遂行する上で必須となるエントリーレベルのセキュリティスキルおよび知識を判断する、国際的に認められた認定試験で、世界中の企業およびセキュリティプロフェッショナルに活用されています。 CompTIA Security+認定資格試験に合格することで、アプリケーション、ネットワーク、デバイスのセキュリティを確保するために必要なシステムのインストールと設定、プラットフォームへの脅威を分析して適切な手法で緩和する対応、関連するポリシーや法規制を正しく認識した運用を行うために必要な知識とスキルを証明します。また、これらのタスクを、機密性、完全性、可用性の三大要件を維持し実行が可能なスキルを証明します。 出典 https://www.comptia.jp/certif/core/comptia_security/

出題範囲として、

  • セキュリティの基本知識(機密性,完全性,可用性等)
  • 各セキュリティ技術に関する知識暗号化・認証
  • アクセス制御に関する知識
  • 各脅威に対する対策に関する知識
  • ネットワークセキュリティ(SW,Router,FW,IDS,IPS,Proxyなど)に関する知識
  • リスク管理に関する知識
  • セキュリティマネジメントに関する知識

こんな感じで、セキュリティの結構深いところまで問われる試験です。

CompTIA Sec+を 1週間で一発合格のための勉強方法

私は3つの方法で取得できたので紹介します。 本はメルカリで購入しました。

1. テキストを一通り読みまくる(2日)

必要な知識を覚えるために、パラパラめくる感じで以下のテキストを読んで勉強しました。

2.問題集を解きまくる(2日)

問題自体を覚えるために、以下の問題集を5周くらいしました。

3.TACのWeb模擬試験の問題を覚える(3日)

TACのWeb模擬試験の申し込みサイト

この模擬試験は2回分の模擬試験があり、8割程度が全く同じ問題が出題されます。 私の場合はこんな感じで模擬試験に合格できました。

一番覚えておきたい問題が、「パフォーマンスベースドテスト対策」です。 ここは絶対に試験に出ると思います。TACのWeb模擬試験でしか受けることが出来ないので何度もやることをおすすめします。

受験方法と当日

みなさんお馴染みのピアソンVUEで試験日、試験会場を申し込みます。

試験会場について、受付で顔写真の撮影とサインなどがあるので試験開始時刻より15分前ぐらいに到着する必要があります。 そのときに、本人確認書類2点が必要です。 私は「マイナンバーカード (顔写真があるやつ)」と「学生証」の2点を出しました。

試験室に入って席に着いて、PCをいじると規約とかが出てきます。 何度かポチポチすると、いよいよ問題が始まります。

問題が始まると、最初に「パフォーマンスベースドテスト対策」が出てきました。

問題は何度も見返しができ、見直したい問題にはフラグ「見直し旗」を付けます。 どうしても分からない問題が数問あり、時間ギリギリまで何度も見直しました。

試験終了後、アンケートの後に合否が画面に表示されます。 結果は「合格」でした。

合格ライン750点で、762点で合格できました。ギリギリでした。

まとめ

私はこのような感じで合格することが出来ました! みなさんも受ける時の参考にしていただけると幸いです。 最後まで見て頂き、ありがとうございました。

 

SDCCに参加してグローバルIPを取得した話

はじめに

最近SDCC(島根データセンター友の会)に加入しました。 加入すると、オープンネットワークに接続することで様々なことを行うことができ、 申請すればグローバルなIPアドレスを貰えるのでサーバーを公開することができます。

今回はCisco 1941を使用してSDCCへ接続し、BGPで経路情報を受け取るところまでまとめます。

参加方法

はじめにSDCCに参加できるかどうかを調べます。 BGPというプロトコルを使うので一般のご家庭にあるルーター(バッファローなど)では接続できません。 CiscoYAMAHAなどのBGPに対応したルーターを買ってください。

準備ができたらここからメールを送信して申し込みしましょう!

トンネルの接続する情報を取得

申し込みをして、申請書を提出するとSDDCの管理者から会員証が届きます。 その会員証に、自分のAS番号やアカウント情報、割当られたIPアドレスなどが書いてあり、その接続情報を使用して対向とトンネルを掘ります。

・どのトンネリングプロトコルを使うのか? ・接続に使用するIPアドレスはどれを使うのか?

など、接続に必要になる情報を相手と相談して決めます。

今回はグローバルIPv6アドレスを使用し、対向のルーターGREというトンネリングプロトコルを使用してトンネルを張り、BGPで経路情報を受け取ります。 ここまで決めればあとは設定するだけです!

トンネルの設定

実際に設定を入れる前に1度情報を整理します。

使用するトンネリングプロトコル GRE

トンネルインターフェイスIPアドレス

相手側 IPv4 100.80.X.0 IPv6 2001:XXXX:XXXX:XXXX::1/127

自分側 IPv4 100.80.X.1 IPv6 2001:XXXX:XXXX:XXXX::0/127

トンネルインターフェイスIPアドレス 相手側 2001:XXXX:XXXX::1 自分側 2407:XXXX:XXXX::0

トンネルの通信を流すときに使用するIPアドレス

自分側: 2400:XXXX:XXXX:XXXX:XXXX:XXXX:XXXX:6D81 相手側: 2408:XXXX:XXXX:XXXX:XXXX:XXXX:XXXX:A129

使用するルーティングプロトコル BGP

AS番号 相手側 413XXXXX01 自分側 411XXXXX01

ルーターID

特に縛りは無かったのですが、設定しないと要らぬトラブルを招く恐れがあったので、トンネル用のIPv4アドレスをIDとして設定する事にしました。

100.80.XX.0

これで最低限のトンネルを張って経路を受け取れます。 設定は完璧である事を信じて設定を入れていきます!

トンネルの設定

interface Tunnel0
 ip address 100.80.XX.0 255.255.255.254
 ipv6 address 2001:XXXX:XXXX:400::/127
 tunnel source 2400:XXXX:XXXX:XXXX:XXXX:XXXX:XXXX:6D81
 tunnel mode gre ipv6
 tunnel destination 2408:XXXX:XXXX:XXXX:XXXX:XXXX:XXXX:A129
exit

BGPの設定

router bgp 413XXXXX01
 bgp router-id 100.80.XX.0
 bgp log-neighbor-changes
 neighbor 2001:XXXX:XXXX:XXXX::1 remote-as 4100200001
 neighbor 2001:XXXX:XXXX:XXXX::1 update-source Tunnel0
 neighbor 2001:XXXX:XXXX:XXXX::1 version 4
 neighbor 100.80.XX.1 remote-as 4100200001
 neighbor 100.80.XX.1 update-source Tunnel0
 neighbor 100.80.XX.1 version 4
 address-family ipv4
  no neighbor 2001:XXXX:XXXX:XXXX::1 activate
  neighbor 100.80.XX.1 activate
 exit-address-family
 address-family ipv6
  neighbor 2001:XXXX:XXXX:XXX::1 activate
 exit-address-family
exit

 

設定を入れたら経路が落ちてくるのをを待ちましょう。

経路が落ちてきているかどうかどうかは show ip routeshow ipv6 routeコマンドで確認できます。

もしなにも落ちてこないという方は原因を探ってみましょう。

  1. トンネルが正しく張れているか確認する
  2. BGPのピアが上がっているか確認する
  3. フィルターの設定を見直す

トンネルが正しく張れているか確認する

まずは相手のトンネル用インターフェイスpingを送って反応があるか確認します。

今回は2001:XXXX:XXXX:XXX::1が相手のトンネル用インターフェイスIPアドレスなので、こことの疎通を確認します。

次に、相手のトンネル終端アドレスにpingを飛ばします。 2400:XXXX:XXXX:XXXX:XXXX:XXXX:XXXX:6D81pingを送ります。

もしpingが通らないようでしたら原因を探しましょう。

BGPのピアが上がらなくて沼にはまった

私は、neighbor 100.80.XX.1 dont-capability-negotiateというコマンドがシスコのルータが自動で入力されてしまい、AS番号が正しく相手に送れていない問題がありあました。

no neighbor 100.80.XX.1 dont-capability-negotiateコマンドを入力したらピアが上げることができました!!

なかなかこういうことやるひとがいないので・・・あまり情報が・・・ないです...

サーバーを接続して通信してみる

SDCCから割り当てされたIPアドレスを使用して、実際に外部と通信してみます。

G0/0にv4とv6アドレスを割当て、G0/1にL2SWをかましてサーバを接続し、IPを割り当てて通信してみましょう。

設定が正しくできていれば実際にインターネットに出ることができ、実際にインターネットから通信を受け取る事ができるようになります。

あとがき

ここまでできれば後はサーバーを用意したりして遊べるようになっているはずです。

もしやる事が無くなってしまったら、ほかのSDCC加入者の方とBGPのピアを貼ってみてください。

LinuC-1 に合格した話

取得した経緯

学校で掲示されていたパンフレットで「学校でLinuCのチケットを買うと、LinuC 101、102がそれぞれ1万円で受けられる」ので取得してみました。

LinuC とはなんぞや?

簡単に言えば、Linuxの認定資格 LPI-JAPAN公式HPを見た方がわかりやすいかと思います、、。

お家騒動的なのがあってLPICとLinuCがあるみたいです。 資格のレベル感はあまり変わらないみたいですが、 LPIC: 世界的 LinuC: 日本独自 らしいです... 。

勉強方法

・まず合格教本でざっと読む ・実際に触ってコマンドを叩いてみる ・問題集を解く ・ping-tの問題集とコマ門を少しやりました。

使った本

最短突破 LinuCレベル1 バージョン10.0 合格教本[101試験, 102試験対応][Amazon] ・Linux教科書 LinuCレベル1 スピードマスター問題集 Version10.0対応 [Amazon]

この本を使ってました。

本番の試験

まず、Pearson VUEで申し込む。

当日は10分前ぐらいに着いて、説明を聞いたり、顔写真を撮ってもらったらテストスタート。 ほとんどの問題が、選択問題でした。

事前に練習していた問題とほぼ似ている、全く同じ問題が出ました。 そのおかげで、最初に問題を見た段階で「あ、この問題分かる、分からない」 がすぐ判断できます。

テストが終わると、すぐに合否が出ます。

点数は、最低200点で、最高が800点です。

私の点数は、
101試験: 706点

102試験: 666点

だったので、100点満点にすると、80ー90点くらい取ることができたと思います。

資格にチャレンジしてわかったこと

こんなに本買う必要なかったと思いました。

試験日先に決めて、申し込んでおくと、 ・お金かかってる ・時間が限られている

と自分にいい意味でプレッシャーをかけられます。 私の場合、2週間前に、試験の予約をして、超集中型で取り組めました!

かなりおすすめです!

Apache(httpd)をソースから構築する

概要

今回はソースからインストールしてLAMP環境を構築していきます。必要になるものはなるべくソースからインストールしていますが、wgetgccはdnfコマンドでパッケージからインストールします。この記事は Apacheをソースからインストールします。MySQLPHPは次回の記事でインストールしていきます。

環境

OS - ホスト: ESXi 7.0.1 - OS: CentOS8 (最小限のインストール)

使用ライブラリ - apache-2.4.46 - apr-1.7.0 - apr-util-1.6.1 - openeel-3.0.0 - pcre-8.44 - expat-2.3.0

事前準備

Apacheソースコードからインストールするためには、gccmakepcrepcre-devel のライブラリが必要になります。 なので、それらをあらかじめインストールしておきます。

# dnf install gcc gcc-c++ make pcre pcre-devel perl wget

httpdをソースからインストール

今回は、ソースからApache(httpd)をインストールしていきます。 以下のページにApacheのビルドに必要なライブラリやインストール手順が書かれていて、ここを参考にしています。 Compiling and Installing – Apache HTTP Server Version 2.4 これに従うと、APRAPR-Util と PCRE というのライブラリが必要になりますが、その他にもExpatというライブラリや追加した方が良いモジュールもあるので、作業がスムーズになるように整理してまとめていきます。 まず、Apache本体をダウンロードします。

# cd /usr/local/src 
# wget https://ftp.yz.yamagata-u.ac.jp/pub/network/apache/httpd/httpd-2.4.46.tar.gz
# tar zxvf httpd-2.4.46.tar.gz

APRAPR-Util

APR(Apache Portable Runtime)は、Apacheのサポートライブラリで、OS等の環境の違いを吸収する機能です。使用するOSが、機能が備わっていない場合、このAPRが代わりとなってその機能を提供してくれます。

# wget http://ftp.yz.yamagata-u.ac.jp/pub/network/apache/apr/apr-1.7.0.tar.gz
# tar zxvf apr-1.7.0.tar.gz
# mv apr-1.7.0 httpd-2.4.46/srclib/apr

APR-Utilも同様に、ダウンロードと解凍をして、解凍できたディレクトリをhttpd-2.4.46/srclib/apr-utilに移動させます

# wget http://ftp.yz.yamagata-u.ac.jp/pub/network/apache/apr/apr-util-1.6.1.tar.gz
# tar zxvf apr-util-1.6.1.tar.gz
# mv apr-util-1.6.1.tar.gz httpd-2.4.46/srclib/apr-util

以上でAPRAPR-Utilの準備は終わりです。

PCRE

PCRE(Perl Compatible Regular Expressions)は、Perl互換の正規表現を他の言語でも使えるようにするもので、多くのミドルウェアで必要とされているライブラリです。 事前準備が終わっていなければ、インストールしてください。 PCREのビルドをしていきます。wget でダウンロードして、展開・解凍を行い、解凍・展開してビルドします。

# wget https://ftp.pcre.org/pub/pcre/pcre-8.44.tar.gz
# tar zxvf pcre-8.44.tar.gz
# cd pcre-8.44.tar.gz
# ./configure 
# make 
# make install

Expat

Expatとは、XMLファイルの中身のデータを解析・整形するライブラリです。 Welcome to Expat! · Expat XML parser のサイトから、wget でダウンロードして、展開・解凍を行い、解凍・展開してビルドします。

# wget https://github.com/libexpat/libexpat/releases/download/R_2_3_0/expat-2.3.0.tar.gz 
# tar zxvf expat-2.3.0.tar.gz 
# cd expat-2.3.0.tar.gz 
# ./configure 
# make 
# make install

OpenSSL

これでApacheのビルドができますが、TLS通信は必須なので、OpenSSLをソースからビルドしていきます。 この段階で設定しておかないと、後からOpenSSLを使用できないからです。(再度ビルドすることになる)

# wget https://www.openssl.org/source/openssl-3.0.0-alpha14.tar.gz
# tar zxvf openssl-3.0.0-alpha14.tar.gz
# cd openssl-3.0.0-alpha14.tar.gz
# ./config
# make
# make install

Apacheのビルド

これで準備ができたので、Apacheをビルドしていきます。

# cd httpd-2.4.46/
# ./configure \
--prefix=/usr/local/httpd \
--with-included-apr \
--with-pcre=/usr/local/src/pcre-8.44/pcre-config \
--enable-mods-shared=all \
--enable-ssl \
--with-ssl=/usr/local/ssl \
--with-mpms-shared=all
# make
# make install

configureのオプションは以下の通りです。

オプション 説明
–prefix インストールするディレクトリを指定
–with-included-apr srclib内のAPRAPR-Utilもビルド対象にする
–with-pcre インストールしたPCREのディレクトリを指定
–enable-mods-shared 動的モジュールをビルド対象にする
–enable-ssl sslモジュールをビルド対象にする
–with-ssl インストールしたOpenSSLのディレクトリを指定
–with-mpms-shared worker, prefork, eventをビルド対象にする

ビルドができたら、新しくapacheのユーザとグループを作成し、メイン設定ファイルを変更します。 サービスを動かす用のユーザなので、デフォルトシェルに/sbin/nologinを指定して、ログインを禁止にします。

# cd /usr/local/httpd/
# groupadd apache
# useradd apache -g apache -s /sbin/nologin
# chown -R apache.apache .
# vi conf/httpd.conf

# vi /usr/lib/systemd/system/httpd.service
[Unit]
Description=The Apache HTTP Server
After=network.target remote-fs.target nss-lookup.target

[Service]
Type=forking
ExecStart=/usr/local/httpd/bin/apachectl start
ExecReload=/usr/local/httpd/bin/apachectl graceful
ExecStop=/usr/local/httpd/bin/apachectl stop

[Install]
WantedBy=multi-user.target

以下のコマンドで変更を反映させます。

# systemctl daemon-reload

ファイアウォールの設定を変更して、HTTP/HTTPS通信用の待ち受けポートを開放させます。

# firewall-cmd --add-service=http --zone=public --permanent
# firewall-cmd --add-service=https --zone=public --permanent
# firewall-cmd --reload

自動起動&今すぐ起動の設定を行います。

# systemctl enable httpd --now

まずはcurlコマンドでページをとってこれるか確認します。

# curl http://192.168.1.220
<html><body><h1>It works!</h1></body></html>

そしたら、実際にWebブラウザで開いてみて、この画面が表示されればApacheがビルドして、起動することができています。

まとめ

こんかいは、Apacheのみでしたが、これから、LAMP環境のMySQL PHPのソースからのインストールに挑戦していきたいと思います。

ESXi7.0でVMFSL領域を減らしてデータストアの容量を増やす方法

TL;DR

・ESXi7.0からコンテナに対応するため、ESX-OSData(VMFSL領域)が作られます

・VMFSLの容量を減らすにはインストール時にオプションを付ける必要があり、既にインストール済みの方はクリーンインストールする必要があります。 減らす方法は以下をご覧下さい。

概要

バージョン7.0の新機能等はこちらのリリースノートに詳しく詳細が記載されています。

簡単に言うと「Kubernetesへのネイティブに対応するため」で、要するにコンテナ対応です。

まず、公式ガイドの ESXi ハードウェア要件をまとめると以下のようになります。

  • ESXi 6.7 まで - 最低 1 GB の起動デバイス - VMFS ボリュームと 4 GB のパーティションを起動デバイスに作成するには、5.2 GB 以上のデバイスが必要(HDD/SSD/SAN 等) - SDカード、USB メモリをブートデバイスとする場合はコアダンプの保存に利用するため 4GB 以上、推奨は 16 GB 以上のフラッシュドライブの利用が推奨されている
  • ESXi 7.0 から - 最低 4 GB の起動デバイス - SD カード、USB メモリをブートデバイスとする場合は 8 GB 以上が推奨 - HDD、SSD、NVMe などのその他のデバイスでは 32 GB 以上が推奨され、ブート パーティションESX-OSData ボリュームが作成される - 138GB を超える HDD、SSD、NVMe ドライブの場合は ブート パーティション、ESX-OSData ボリューム、および VMFS データストアが作成される

このように、ESXi 7 では新たに ESX-OSData という VMFS-L フォーマットの新しい領域が作成されます。

可変の ESX-OSData が 120GB まで拡張されるため、VMFSで利用できる容量が少なくなってしまいます。

VMFSL(VMFS-L)を減らす方法

「コンテナなんか使わないのに!」と考えている方(大半がこれ)は無駄な容量なので削減したいところですが、この領域を減らすにはインストール時に起動オプションを入れる必要があり、インストール済みの方は再度クリーンインストールする必要があるということです。

※インストール後は減らすことが出来ません。 もし出来たら連絡していただけますと幸いです。修正いたします。

ではやり方を説明していきます。

この操作を実行したことによって損害が発生しても責任は負えません。 自己責任でお願いいたします。
※ライセンスキーを控える、仮想マシン等のデータは別のデータストア(他のHDDやSSD)に移しておくことをおすすめします。

いつも通りにrufusなどでESXiのインストーラを作成してください。 インストーラーが起動したら、すぐに(右下に書いてある)SHIFT + O を押して、起動オプションを編集します。

既に、cdromBoot runweaselが記述されているので、うしろに(今回は8GBでインストールを進めます)

autoPartitionOSDataSize=8192

を追記(大小文字は区別されます)して、Enterを押してください。

あとはそのままインストール作業をしてください。インストールできたら、Web管理画面に移動して、パーティションを確認してみましょう。

このようにVMFSLの領域が8GBになっています。

まとめ

VMFSLが大量に浪費されているのは Kubernetes へのネイティブな対応するためでした。これで容量を増やすことができると思います。 それでは、楽しいESXiライフを。