サクサク読めて、アプリ限定の機能も多数!
トップへ戻る
大谷翔平
tsunokawa.hatenablog.com
概要 前回Atomic Host(CentOS)を起動させました。 Atomic HostのCentOSイメージをVirtualBoxで動かしてみる - tsunokawaのはてなダイアリー 今回はAtomic Hostに内包されているCockpitをつかってDockerコンテナの操作を行ってみます。 Cockpitログイン画面 ポート番号 9090 ユーザ名 centos パスワード 前回エントリー参照 Cockpitはデフォルトで起動するようになっていました。 なのでブラウザでポート9090に接続すると上記ログイン画面が表示されると思います。 Cockpitホスト一覧 Cockpitに登録されているホスト一覧です。 今はAtomic Host(CentOS)を動かしているローカルのマシンのみなので1台だけ表示されています。 ホストアイコンをクリックすると上記のようなホスト情報の画面が表
概要 Red Hatが提供するDocker専用の軽量OS「Red Hat Enterprise Linux 7 Atomic Host」の CentOSイメージ(テスト版)がリリースされました。 さっそく手元のMacOSのVirtualBoxで起動させてみました。 イメージファイルはqcow2という形式で提供されています。 このイメージファイルを変換して、MacのVirtualMachineで使えるようにします。 http://www.projectatomic.io/download/ http://buildlogs.centos.org/rolling/7/ 今回使用するファイルは CentOS-7-x86_64-AtomicHost-20141029_02.qcow2 です。 qemu-imgインストール イメージ変換の為、Macでqemu-imgコマンドが使えるようにインストール
概要 VagrantのBoxを最新版にアップデートするコマンドでvagrant box updateというものがあります。 このコマンドの存在は知っていたのですが、何もバージョニングしていない自作のBoxに対して どうやってアップデートするんだろうと謎だったのですが、その方法が分かりましたのでそのメモです。 大まかな流れ バージョン番号とboxファイルの保存場所を記述したjsonファイルを用意 jsonファイルをvagrant box addで読み込み boxを最新版に更新 jsonファイル内のバージョン番号を更新 vagrant box updateで最新版へ更新 セットアップ jsonファイルを作成 { "description": "CentOS6.5 x86_64", "short_description": "CentOS6.5", "name": "centos6.5", "v
便利なVagrantですが、複数のVMを扱ってると面倒に感じる時があります。 Vagrantfileはホームディレクトリ以下にこのように設置しています。 vagrant/ ├── centos6.5 │ └── Vagrantfile ├── centos7.0.1406 │ └── Vagrantfile └── coreos-vagrant └── Vagrantfile CentOS6.5を操作していてCentOS7.0.1406を操作したくなった場合、 これまではcentos7.0.1406ディレクトリに移動して vagrant upとvagrant sshを行っていました。 こんな感じです。 $ pwd /Users/kenichi/vagrant/centos6.5 $ $ cd ../centos7.0.1406/ $ $ vagrant up $ vagrant s
前にFluentdの動作検証を行った時に、 クライアント、サーバー両方に同じtd-agentパッケージをインストールしたのですが、 Fluentdってのもあるよなーと違いは何だろうと思って調べたら以下公式FAQページに書いてありました。 td-agentはFluentdの安定版のようです。 What is the difference with td-agent and Fluentd? In one word, td-agent is a stable package distribution of Fluentd. There're following differences. td-agent is distributed as DEB/RPM package, while Fluentd is distributed by Ruby gem. td-agent contains R
NginxのSSL中間証明書を設定する方法がApacheとちょっと違ったのでメモ Apacheの場合 SSL証明書とSSL中間証明書をそれぞれ発行元からダウンロードして設定 SSLCertificateFile xxxxx.crt # 証明書 SSLCertificateKeyFile xxxxx.key # 秘密鍵 SSLCertificateChainFile xxxxx.chukan # 中間証明書 Nginxの場合 SSL証明書とSSL中間証明書をそれぞれ発行元からダウンロードしてから ファイルを結合して1ファイルにする。 結合といっても単にviとかで開いて追記すればいいだけ。 ファイルの中身はこんな感じ。 -----BEGIN CERTIFICATE----- SSL証明書 -----END CERTIFICATE----- -----BEGIN CERTIFICATE-----
やりたいこと 前エントリで『cronジョブの負荷を分散したい!』とChronosを検証してみました。 今回はJenkinsのMesosプラグインを使って同じように Mesosを使ったジョブの分散環境を作ってみたいと思います。 enkinsci/mesos-plugin · GitHub 概要 JenkinsのMesosプラグインを使うと図のようにJenkinsに登録されたジョブを Mesosがリソースが空いているサーバーに振り分けて分散して実行してくれます。 イメージ図 検証環境 本エントリで例としてIPアドレスが出てきますがこの図の構成を参考にしてください。 今回使用したソフトウェアのバージョンです。 OS CentOS6.5 Jenkins jenkins-1.579-1.1.noarch Mesos mesos-0.20.0-1.0.centos64.x86_64 ZooKeeper
やりたいこと 物理、仮想含め数百台のサーバーを管理しているので、 cronを一括管理したい cronジョブの負荷を分散したい cronの結果を可視化(成功or失敗) Dockerコンテナのcronを外出ししたい Dockerコンテナが作成または削除される度にcron登録・削除をAPIで行いたい これらを実現したいと思っていました。 そこで『Chronos』です! 結論から言うとChronosを使ってこれらを実現することができました。 Chronosとは そこでChronosって何?という話しになりますが、 Cronの置き換えを想定したジョブスケジューラです。 airbnb/chronos · GitHub Mesos上で動くので登録されたジョブをいい感じに分散して実行してくれます。 図にするとこのような感じだと思います。 検証環境 本エントリで例としてIPアドレスやmesos-master
概要 Packerを使ってVagrantのBoxを作成します。 また、作成したboxファイルをパッケージ化してみます。 環境 各バージョン Virtual Box 4.3.14 Vagrant 1.6.3 Packer v0.6.1 作業マシンはMacOSXで行いました。 必要ソフトウェアのダウンロードとインストール 以下ソフトウェアのダウンロード及びインストールを行ってください。 Virtual Box Vagrant Packer Virual BoxとVagrantはdmgファイルが公開されていますのでそちらでインストールしてください。 Packerは公式サイトからzipファイルをダウンロードしてきて展開後、 全ファイルを/usr/local/bin/以下にコピーしてください。 Packerの設定ファイル Chef実践入門 ~コードによるインフラ構成の自動化 (WEB+DB PRES
概要 Test Kitchenの役割 以下を自動でやってくれます。 Dockerコンテナ起動 起動したDockerコンテナにChefレシピを適用 その後Serverspec実行 Dockerコンテナ破棄 環境 OS CentOS 6.5 このホストでTest KichenやDockerを動かします。 関連ミドルウェア 事前にインストールしておきます。 バージョンは以下のものを使用しました。 docker-io-1.0.0-6 test-kitchen-1.2.1-1 kitchen-docker-1.5.0-1 serverspec-1.11.0-1 テストするレシピ CentOS6系のサーバーに適用するレシピです。 /root/chef/repo/site-cookbooks/centos6/recipes/httpd.rb httpdのインストール デーモン起動 自動起動設定 これらを
これまでこういったyumリポジトリミラーサーバーを作る場合にApacheを使って構築してきましたが、 Nginxで同じように設定する場合のメモです。 Nginxの設定 /etc/nginx/nginx.confにautoindex on;を追加します。 例 server { listen 80; server_name repo.example.com; location / { root /var/www/html/; autoindex on; autoindex_localtime on; } } 表示結果 このように表示されます。 Apacheの場合 ちなみにApacheの場合 <Directory "/var/www/html/"> Options Indexes FollowSymLinks </Directory> 参考 HttpAutoindexModule http://
前回セットアップしたHubotとHipChatの連携に追加でジョブを定期実行してくれる hubot-cron https://github.com/miyagawa/hubot-cron をセットアップしてみようと思います。 前回のエントリーの続きなのでディレクトリ構成などは 前回のエントリーをご参照ください。 HubotをHipChatで使ってみる hubot-cronのインストール cd ./mybot/node_modules/ git clone https://github.com/miyagawa/hubot-cron.git cd hubot-cron npm installこれでインストールが完了します。 スクリプトにシンボリックリンクを張る ln -s ./node_modules/hubot-cron/src/scripts/cron.coffee ../scripts
ZabbixのAPIを使って監視対象のホスト一覧を取得してみました。 環境 Zabbixサーバー ホスト名 example.com zabbixバージョン Zabbix Server 2.0.7 Zabbixクライアント ホスト名 test01.example.com zabbixバージョン Zabbix Agent 2.0.11 下準備 ZabbixサーバーでAPI専用ユーザ ユーザ名 zabbixapi パスワード ***** を作っておきます。 認証トークンを取得 curl -X GET -H "Content-Type:application/json-rpc" -d '{"auth":null, "method":"user.login", "id":1, "params":{"user":"zabbixapi", "password":"*****"}, "jsonrpc":"
3ware 9650SE-12MLを載せている環境で、以下のエラーメッセージを出したままOSが起動しなくなりました。。。 Waiting for 3ware Controller to Initialize... There is no response from the firmware. RAIDカードメーカーのLSI(3ware)に問い合わせたところ、ファームウェアのアップデートをすれば治るという回答をもらったのでやってみました。 ファームウェアのアップグレードは3wareの管理画面の3dm2からやるもんだと思っていましたが、今回はそもそもOSが起動しないのでBIOS画面から行う必要がありました。 試してみた結果、メーカーの回答通りファームウェアのアップグレードでOSがちゃんと起動するようになりました。 流れ DOSブート用USBメモリ作成して ファームウェアをダウンロードしてUSB
Raspberry PiにUSB温度計を付けてサーバールーム内の温度計測をやってみました。 USB温度計 『USB温度計! USB thermometer-528018』という製品を使用しました。 内容物 USB温度計 USB延長ケーブル ドライバCD 取り付けてみた 環境 OS Pidora 18 (Raspberry Pi Fedora Remix) USB温度計から温度を取得 温度取得のコマンドの準備 USB温度計から温度情報を取得するには専用のコマンドが用意されています。 ソース取得の為のgit、コンパイルに必要なパッケージします。 yum install libusb-devel git ソースをclone&コンパイル ありがたくソースを持ってきてコンパイルします。 git clone git://github.com/bitplane/temper.git cd temper
設定値は適当です。 CentOS5系 /etc/initscript ulimit -n 1048576 eval exec "$4" CentOS6系 /etc/sysconfig/init ここの最後尾に以下を追記。 CentOS5系で設定したinitscriptのeval exec "$4"は不要。 ulimit -n 1048576 ulimit -u unlimited CentOS7系 /etc/systemd/system.conf.d/limits.conf /etc/systemd/system.conf.d/ディレクトリが無い場合は事前に作成 [Manager] DefaultLimitNOFILE=1048576 DefaultLimitNPROC=1048576 参考URL Man page of INITSCRIPT ファイルディスクリプタ数の上限変更とlimit
Puppetコマンドのメモ Puppetサーバーで使うコマンド 認証待ちpuppetクライアント一覧 puppetca --list puppetクライアント認証(autosignやってない時) puppetca --sign hostname puppetクライアント認証済みも含め全表示 puppetca --list --all 証明書の表示 puppetca --print hostname リクエストのキャンセル(ホスト名の間違い等) puppetca --clean hostname Puppetクライアントへkick(手動適用) puppet kick --host hostname puppetクライアントへtag付きでkick(手動適用) puppet kick --host hostname --tag newsetting マニフェストファイルの更新 puppet ap
MongoDBサーバーのマスター/スレーブ環境でコネクション数が上限に達したトラブルのメモです。 サーバー環境 MongoDBサーバー名 OSバージョン MongoDBサーバーバージョン mongodb01.example.com CentOS 6.2 mongo-server-2.0.5-0.el6.x86_64 マスター mongodb02.example.com CentOS 6.2 mongo-server-2.0.5-0.el6.x86_64 スレーブ ケース1 MongoDBサーバーをCentOS5系からCentOS6系にリプレイスした後、 MongoDBサーバーにコネクションが張れない状態になりました。 その時のMongoDBサーバーのログに以下のような出力がありました。 Mon Jan 1 00:00:01 [initandlisten] pthread_create fa
『CentOS 6.2 + e1000eでうまくいかなかった話』 ほぼ↑に記載ある通りなんですが、同様の事象が発生した為、メモしておきます。 OS OS CentOS 6.2 カーネル 2.6.32-220.el6.x86_64 事象 上記OS環境でbonding(active-backup)環境を組んでいたところ、 突然、backup側のeth1がdownしました。 downするまではしばらく問題なく使えているのですが、急にダウンしてしまいます。 active側のeth0は問題ありません。 インターフェース名 MACアドレス bonding設定 事象 eth0 00:25:90:xx:xx:xa avtive 問題なし eth1 00:25:90:xx:xx:xb backup 突然ダウン 突然ダウンするという事象が発生するとdmesgに bonding: bond0: link sta
『virt-v2v』を利用したXen→KVM変換手順 業務でXen仮想環境からKVM仮想環境へ全面的に移行することになり、 どうしたもんかと思っていたところ『virt-v2v』というソリューションを発見!! virt-v2vを利用するとXen仮想マシンイメージをKVM仮想マシンイメージに変換が出来るらしい。 他にもvmwareイメージも変換することが出来る模様。 http://docs.redhat.com/docs/ja-JP/Red_Hat_Enterprise_Virtualization_for_Desktops/2.2/html/Administration_Guide/virt-v2v-scripts.html 実際に個人サーバー2台を利用して変換する手順を試してみました。 Xen→KVMにイメージファイルを変換するにあたり、 XenのカーネルはXen用のカーネルだしそのあたり
このページを最初にブックマークしてみませんか?
『tsunokawaのはてなダイアリー』の新着エントリーを見る
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く