「 サーバー構築 」一覧

ESXi 6.0u2 更新のその後


危惧していたネットワークの問題も解消されて うまく 6.0 update2 に更新できたので、さらにその後のパッチ適用と気になっていた点の解消などやってました。
昔のデータストアから VM らをインポートしたりして環境復帰できたらこの作業の旅も終わりです。

(Update) とかいう表示

esxcli software profile get で情報を表示させたときに (Update) と頭について、 ESXi 5.5 のベースを使っているようにみえたのでこれらをなんとかしてみました。

調べてみると同じように気になっている人もいるらしく、調査結果がすでにありました。
詳しくは参考サイトの情報を読んでいただければと思います。

今回の自分の環境でも以下の点がまさに一致でした

  • (Updated) という記載は何なのか
  • そもそも未だ 5.5 という記載が残っている

そして今どういう状況なのかという点ですが、「ESXi 5.5 からアップデートしたことを考慮すると ベースは 5.5 でカスタムドライバ入れた状態で、アップデートを適用した独自プロファイルになった状態」と考えられます。

“esxcli software profile update” によって更新作業を行ってきたため、こうなるのもわかってしまえば納得です。システムとしては 6.0 になっているので、一応 ESXi 6.0 のシステムとして稼働しています。

ただ気にはなるので、できることならば Updated の表示を消したいところです。

ネットワークの問題が再燃する覚悟を決めて以降の作業をやってみました.
続きを読む


ESXi 6.0u2 へのアップグレード


前回の続きになりますが、ESXi 5.5 から 6.0 系への更新を進めてみました。

ssh でつないでコンソールからアップデートを適用しました。5.5 の段階でいれた Network のドライバが消えてしまうかとヒヤヒヤしながら作業しましたが、再起動後も問題なく認識されたままでした。消えてしまった事例も見つかるので、sshでつないで esxcli 経由でやったのが成功の秘訣かもしれません。
続きを読む


ESXi 4.1 から 6.0 系への更新を試みる


ESXi 4.1 が安定して稼働していたのですが、今となっては古くなってしまったので、
vSphere Client がなくても Web から操作できるようになったという ESXi 6.0 Update2 への更新を決断しました。

今回の内容は実はそこまで到達するまでに苦戦した道のりの記録です。同じようにアップデートに苦しむ人(苦しんだ人?)の助けになれば幸いです。

バックアップ

ESXi のシステムは USB メモリに格納していたので、まずはこれをバックアップをとっておきます。
自分は DD for Windows を用いてイメージを丸ごと保存しています。

そして今回作業用のUSBメモリを新規に用意しました。
4GB のものでもうまくいくと思いますが、適当に用意したものが 8GB のものだったのでこれで作業しています。
(元々使用していた USB メモリの容量以上であれば問題は起こらないかと思います。)
ちなみに以下のメモリを使っていますが、アクセス速度の点ではイマイチかも。ESXi では致命的にならないのでこれで。



このUSBメモリに先ほどとは逆の手順で DD for Windows でイメージから USB メモリへ書き込み作業を行います。

以降の作業は全てこの USB メモリに対して行います。元々の USB メモリはいざという時に備えてそのまま保存です
続きを読む


git-fat を使ってみる


git-media の状態がまずかったので、似たようなソリューションを探してみたところ git-fat というものが見つかりました。これは git-media からフォークして作成したもののようです。言語が Ruby から Python へと変化していましたが。
 今回は Windows 環境にてこの git-fat をインストールして動作を確認するところまでやってみます。

インストール

git-fat は Python 2.x 系を必要とするようです。そのためまずは Python をインストールします。今回 Windows のインストーラー付きの Python は 2.7.10 を使用しました。インストールした Python にはパスが通っていることとします。
 その後、コンソールで以下のコマンドで git-fat をインストールすることが出来ます。

既にパッケージ化されているようでインストールは非常に簡単です。 続きを読む


git-media を使えるようにしてみた


オリジナルの git-media には以前に確認したような不具合が Windows 上で発生するため、そのままではバイナリが破壊されてしまうため使用に耐えませんでした。
今回 git-media を fork して、この問題を修正してみました。原因は簡単なことで改行コード変換がバイナリ取り出し時の処理に挟まってしまうことでした。

自分が修正した git-media はこちらに上げてあります。一応手元ではテストを行っていますが、動作を保証するモノではありません。普段の環境が Windows なので、 Windows の環境でのみテストしています。設定項目等も通常のものと変更はないです。

これで git を使っても、ひとまずは巨大バイナリに対して戦える状況になったかなと思っています。

git-media そのものの使い方は過去の記事を参考にしてもらえればと。

git-media はファイルシステムや scp, webdav が使える点がすごくいいと思ってます。これで送り込んだ先をバイナリ管理のリポジトリサーバーとしてバックアップ等含めてきちんと運用させるとよいかと思います。 続きを読む


git-annex を Windowsにて実験してみた


Git LFS が進んでいるようですが、 git-annex を実験してみました。git-annex はまだ Windows の環境でベータ扱いのようですが…。あまり日本語の記事もなく、手探りで色々と試してみましたが、以下の内容は間違っている可能性があるのでご注意ください。

公式サイトのほうからは Windows のインストーラーが公開されています。これをインストールして使用してみました。自分の環境では、うまくパスが通らなかったため、git-annex が配置された場所に手動でパスを通して動くように変更しています。
その後、公式ページの walkthrough にあった以下のようなコマンドを実行してみました. 続きを読む



git-media を使ってみる (2)


前回 git-media をインストールして動作をちょっと確認するところまで説明しました。
今回は以前に説明できなかった部分を見ていこうと思います。

git media sync について

巨大ファイルのハッシュから実体や、そもそも管理場所に送信する機能として git media sync を手作業で実行していました。
それは以下のような設定をしたからでした。

この autodownload を true に変更したらどうなるかを見てみます。
新規にファイルを追加して、add, commit した時点では変化がありませんでした。
しかし、Push を実行すると、・・・なんと挙動は従来のままかわりません!
設定項目の通り、ダウンロードのみに影響するようです。

この設定はリポジトリのチェックアウト時(ブランチの切り替え時とか)の挙動に影響してくるようです。
チェックアウト時に管理されている対象のファイルを、その外部の置き場からダウンロード(取得)してくるようになります。説明によると Pull 時にもこの設定は効いてくるようです。 続きを読む


git-media を使ってみる


git-media をインストールして使ってみます。Windows 環境にインストールして使っている事例がなかったのでちょっと手間取りました。

git-mediaとは

git-media とは巨大なバイナリファイルの扱いが苦手とされる git の拡張として作られたプラグインです。巨大なファイルにおいて、通常の git リポジトリに対してはファイルのハッシュ値を記録して、巨大なファイルの扱いに長けた別の場所にそのファイル実体を上げることが出来るようになります。
 こういった git のプラグインは他にもあって git annex とか有名(らしい)です。また最近の git には LFS( Large File Storage ) の拡張も出始めているので実は本内容はそのうち不要なものとなるかもしれません。

インストール

git-media では ruby スクリプトが使われているため、まずは Windows に Ruby を使えるようにするところからスタートです。
ここでは Ruby Installer (http://rubyinstaller.org/) を利用させてもらうことにしました。ここから 2.2.2 (32bit) を使用することにしました。32bit の理由は git 側が 32bit だったからです。 続きを読む


Gitlab (7.13.1) のその他の項目確認


メールサーバーの設定

新規にローカルのユーザーを作成した際にはメールで通知がいくようで、それがないとそのユーザーはパスワードを設定できないようです。
そのためにもメールサーバーの設定は済ませておく必要がありそうです。

これもまた /etc/gitlab/gitlab.rb ファイルに設定があるので適当なエディタで開きます。すると以下のような行が見つかるので、この部分を編集していきます。

これらをざっくりと以下のような感じにします

各設定項目は、メールサーバーの状態に合わせて設定します。
問題がなければユーザーを作成したりグループを作成したりといったタイミングでメール通知が飛ぶようになるかと思われます。

自分の環境ではメールが確認できず苦戦しましたが、外部メールサーバーを使う前提でローカルの Postfix を停止させたところうまくメールが飛ぶようになりました。同じような現象に出遭っている人はもしかするとコレで改善するかもしれません。

リポジトリの一覧

GitBucket 導入後に、公開リポジトリの一覧が見れたらいいなと思っていたので、 GitLab ではどうか確認してみました。
ここでは適当に2ユーザーくらい作ってそれぞれにリポジトリを作ってみました。

サインインしない状態で一覧みることができるかも気になりましたが、以下の画面に示すリンクから飛べるようです。

gitlab-search-repo-1

そこから All Projects というメニューを選ぶと以下のように既にあるリポジトリをリストとして見ることが出来ました。この画面を見るとさらに検索が出来るようなので多くのリポジトリがあっても大丈夫そうに見えます。(あくまでプロジェクト名での検索の模様です)

gitlab-repos-list

グループでのリストの様子もうかがえますし、さすがに機能がそろっているなと感じました。

リポジトリの操作

リポジトリへのプッシュ種別

HTTP でも SSH でもプッシュが可能なようです。プロキシのこととか考えると、httpが対応してくれているのはありがたいですね

リポジトリのフォーク

ちゃんとforkして作業が出来るようでした。fork元がどのくらい fork されたのかを正しく把握するのは難しそうです。フォークされた数がわかるようです。また forkした側は、どこからフォークしたのかが表示として出てくるみたいです。

マージリクエスト

いわゆるGitHubのプルリクエスト相当の機能で、マージリクエストと呼ぶリクエストを出すことが出来ます。forkしたブランチで何かしらの実装を行い、それを fork 元にマージしてもらって本家に反映する、というフローをするために使われます。
 マージリクエストを出されると、ちゃんとメールで通知が行われました。GitBucket のときのリクエストはメールが飛ばないような感じだったので、こちらはちゃんと使えそうな印象です。