サクサク読めて、アプリ限定の機能も多数!
トップへ戻る
大谷翔平
think-t.hatenablog.com
タイトル通りのちょっとしたメモです。 test-kitchenを並列実行したいときは、-p(--parallel)オプションをつけると並列でレシピの適用を行えます。 $ kitchen help converge Usage: kitchen converge [INSTANCE|REGEXP|all] Options: -c, [--concurrency=N] # Run a converge against all matching instances concurrently. Only N instances will run at the same time if a number is given. -p, [--parallel], [--no-parallel] # [Future DEPRECATION, use --concurrency] Run a converg
今日はパスワード設定のちょいネタで。 その1:mkpasswdを使ってランダムなパスワードを生成する パスワードを考えるのは結構面倒なものです。 mkpasswdを使うとあまり考えずにパスワードを生成できます。 もしmkpasswdがいなければ、expectパッケージをインストール。 以下オプション。 -l オプションでパスワード長(デフォルト9文字) -d オプションでパスワードに含まれる数字の数(デフォルト2文字) -s オプションでパスワードに含まれる記号の数(デフォルト1文字) -c オプションでパスワードに含まれるアルファベット小文字の数(デフォルト2文字) -C オプションでパスワードに含まれるアルファベット大文字の数(デフォルト2文字) ※詳細は man mkpasswdで。 その2:シェルスクリプトからpasswdを使ってパスワードを設定する passwd コマンドに --
RedHat系のLinuxではよくお世話になるrpmコマンド。 今更ながら自分自身の備忘録です。 ある意味manが全てです。 インストールされているRPMパッケージの一覧を取得 よく「grep」と組み合わせて使います。 # rpm -qa | grep "openssl" openssl-0.9.8e-12.el5_4.6 openssl-devel-0.9.8e-12.el5_4.6 「--last」をつけると最近インストールしたものから順に表示するらしいのでやってみました。 最近インストールしたパッケージを上から順に5つ。 # rpm -qa --last | head -5 pcre-devel-6.6-2.el5_1.7 2010年06月21日 20時08分57秒 db4-devel-4.3.29-10.el5 2010年06月21日 20時02分24秒 sqlite-devel-
Chefのレシピでユーザを作成する場合やKickstartの設定ファイルを作る際に、 パスワードハッシュを作る必要があります。 そんなときの自分メモです。 openssl openssl コマンドで実行する場合は、「openssl passwd -1 'pass'」でパスワードハッシュを作成できます。 ただしMD5形式です。 $ openssl passwd -1 'password' $1$ZRzM8GII$nPhH.H8vUFPXAzSf13Tv9/ grub-crypt grub-crypt コマンドを使うとMD5, SHA-256, SHA-512を選択できます。 $ grub-crypt --md5 Password: Retype password: $1$s15RbBux$XqDNY510.g4fy.Gcb90YM0 $ grub-crypt --sha-256 Passwo
今日はtest-kitchenをsshで実行しつつserverspecを実行する検証をしてみたので、そのメモ。 レシピとテストケースを置く環境は以下の通りです。 CentOS6.5(64bit版) ChefDK(0.2.0-2.el6.x86_64) kitchen-ssh(0.0.4) きっかけ Chefのrecipeを流した後に、serverspecのテストをそのまま流したいというのを楽にしたい。 かつ、最初から仮想サーバを作るのではなく、SSH経由でいろいろやるための手段を探していました。 調べる 何か使えそうなものがないかとリストアップ、、、「kitchen-ssh」!? # kitchen driver discover Gem Name Latest Stable Release kitchen-all 0.2.0 kitchen-ansible 0.0.1 kitchen-a
IPアドレスのサブネット計算とかやる必要が時にはあります。 計算に慣れてしまえばいいんでしょうが、結構面倒な時もあります。 そんな時の「sipcalc」コマンドです。 「ipcalc」というコマンドもありますが、こっちのほうが良さげ。 使い方 # sipcalc -a -4 10.0.1.100/24 -[ipv4 : 10.0.1.100/24] - 0 [Classfull] Host address - 10.0.1.100 Host address (decimal) - 167772516 Host address (hex) - A000164 Network address - 10.0.0.0 Network class - A Network mask - 255.0.0.0 Network mask (hex) - FF000000 Broadcast address
開発や運用管理業務をやっていると、使っている環境のバージョンを確認する必要も出てきます。 今回はいくつか集めてみました。 大体「v」とか「version」といったオプション付ければOK、というのが今回の結論だったりします。 Webサーバー Apache 「httpd -v」か、「httpd -V」で。「-V」だとより詳細に出ます。 実行例は「httpd -V」の場合 # /usr/sbin/httpd -V Server version: Apache/2.2.3 Server built: Aug 30 2010 12:32:08 Server's Module Magic Number: 20051115:3 Server loaded: APR 1.2.7, APR-Util 1.2.7 Compiled using: APR 1.2.7, APR-Util 1.2.7 Archit
最近色々な検証にVirtualBoxを使っていますが、VMを毎回作るのも辛いので、VagrantとPackerを試してみたときのメモです。 今回試した環境は以下の通りです。 Windows7 Enterprise ServicePack1 64bit版 VirtualBox 4.3.6-91406 Vagrant 1.4.1 Packer 0.4.1 Packerで作成するVMはCentO6.5の64bit版を選定しました。 環境構築 まずはベースになる環境を作ります。 VirtualBoxのインストール ここから、最新版のVirtualBoxをダウンロードし、インストールします。 Vagrantのインストール ここから、最新版のVagrantをダウンロードし、インストールします。 Packerのインストール ここから、最新版のPackerをダウンロードします。 ダウンロードしたZipファ
ubuntuで内部ネットワークを増やしたかったので、 その作業を行ってみました。そのときのメモです。 KVMホスト 今回はNATのネットワークを増やします。 ubuntuの場合は、デフォルトのネットワーク(virbr0:192.168.122.0/24)の設定が入っています。 この設定を修正、利用しつつ設定を行うことにします。 まずは設定ファイルをコピーして利用することにします。 cp -p /etc/libvirt/qemu/networks/default.xml /tmp/default.xml 中身はこんな感じです。 <network> <name>default</name> <bridge name="virbr0" /> <forward/> <ip address="192.168.122.1" netmask="255.255.255.0"> <dhcp> <range
今回はNRPEを使ったリモート監視の実装方法のメモ。 NRPEとは NRPE(Nagios Remote Plugin Executer)とは、Nagiosからリモートホストを監視するためのプラグインです。 リソース監視など監視対象ホストで任意のコマンドを実行する必要がある時に使います。 インストール作業(監視対象ホスト) まずは監視対象ホストから。 ユーザーを作成します。必要なければログインシェルは剥奪してしまっても問題ないです。 # useradd -m nagios # passwd nagios 「nagios-plugins」をインストールします。 # cd /usr/local/src # wget http://prdownloads.sourceforge.net/sourceforge/nagiosplug/nagios-plugins-1.4.15.tar.gz # t
今日はsarについて少し。 CentOSでsysstatパッケージをインストールすると、 iostat, mpstatなどと一緒に sar コマンドが使えるようになります。 (ちなみに今回はCentOS4.7を使っています) sar 自体は非常に高機能で、システムの各種情報を調査することができます。 さて、sysstat パッケージをインストールすると、 /etc/cron.d/sysstat の設定でファイルに sar コマンドの情報が蓄積されるようになっています。 # run system activity accounting tool every 10 minutes */10 * * * * root /usr/lib/sa/sa1 1 1 # generate a daily summary of process accounting at 23:53 53 23 * * *
良く冗談で、「rm -rf /」を実行なんて話がありますが、試したメモです。 SolarisのrmコマンドはSolaris10以降、GNU Core Utilitiesのrmコマンドは6.4以降だと、 誤って削除されないように保護する仕組みが機能するようになっているようです。 OpenSolarisの場合 OpenSolaris(2009.06)で試した結果です。 GNU coreutilsは6.7。 # uname -a SunOS opensolaris 5.11 snv_111b i86pc i386 i86pc Solaris # /usr/gnu/bin/rm --version rm (GNU coreutils) 6.7 Copyright (C) 2006 Free Software Foundation, Inc. This is free software. You m
今回はRunDeckというツールを試してみる事にしました。 RunDeckとは? RunDeckとは 「データセンターやクラウド環境において、決まった手順を自動化する助けとなるソフトウェア」ということです。 ジョブ管理ツールですね。 今回はまずインストールして簡単に触るところまで。 インストールする インストールはyumを使えば簡単です。 # rpm -Uvh http://rundeck.org/latest.rpm http://rundeck.org/latest.rpm を取得中 準備中... ########################################### [100%] 1:rundeck-repo ########################################### [100%] # yum install rundeck Loaded
ClonezillaでOSイメージバックアップを取るなんてことを仕事で軽くやったので、備忘録的にまとめておこうと思います。 Clonezillaって? 「Clonezilla」は「Norton Ghost」と同じ機能をオープンソースソフトウェアとして提供しようとして開発されているLinuxディストリビューションとのこと。 検証した環境 あまり手頃な環境が無かったので、VirtualBox上のCentOSで実験しました。 バックアップ用イメージファイルを格納するデータ領域として、新規に仮想ディスクを追加しました。 # df -k Filesystem 1K-ブロック 使用 使用可 使用% マウント位置 /dev/sda3 5734416 1606240 3832180 30% / /dev/sda1 101086 17031 78836 18% /boot tmpfs 517352 0 51
エラーの対応をしたメモです。 KVMのホスト機を立ち上げたのですが、いくつかの仮想サーバーが起動していませんでした。 仕方ないので、手動で起動しようとしたところ、以下のようなエラーが出て起動せず。 # virsh start web1 エラー: ドメイン web1 の起動に失敗しました エラー: cannot send monitor command '{"execute":"qmp_capabilities"}': Connection reset by peer 調べたところ、何が原因かは不明なのですが、「managed save」されたファイルが存在していました。 どうやらこれが、起動時に読み込めない状態になっていたことが原因の模様。 # cd /var/lib/libvirt/qemu/save web1.save web2.save # ls -la 合計 679948 drwx
以前にこんなエントリを書きました。 サーバー運用していると、定期的に情報収集したくなるものです。 ということで、Server Status 情報をCSVファイルにするスクリプトを作ってみました。 動くものができたので、公開してみる事にします。 Perlで書いています。モジュールを沢山使っている訳ではないので、 Perlが動く環境であれば、大体動くかと。。 利用はご自由にどうぞ。 #!/usr/bin/perl # Author : think-t # Blog : http://d.hatena.ne.jp/think-t use warnings; use strict; use LWP::UserAgent; use Fcntl; my $hostname = "127.0.0.1"; # Name of server my $port = "80"; # Port on server
例えばハードディスクが一台しか無いけど、ソフトウェアRAID環境を作ってみたいという時に。 今回はlosetup を利用して、ローカルディスクのイメージファイルを使って ソフトウェアRAIDを使ったRAID1の環境を作ってみます。 (言うまでもなく、冗長性は0ですけど、ね) まずはddコマンドでイメージファイルを作ります。 練習なのでファイルサイズは小さく10Mです。 RAID1にするので2つ作ります。 # dd if=/dev/zero of=ext3-1.img bs=1024 count=10000 10000+0 records in 10000+0 records out 10240000 bytes (10 MB) copied, 0.341916 seconds, 29.9 MB/s # dd if=/dev/zero of=ext3-2.img bs=1024 count=
以前にこんな記事を読み、Spacewalkなるものがある事を知りました 前から使ってみようと思いながら着手できていなかったのですが、 ひとまずインストールするところまで進められたので、 まとめておこうと思います。 Spacewalkって? Linuxシステムの統合管理ツールですね。 RedHat社が出している「Red Hat Network Satellite」のオープンソース版になるようです。 Frequency Asked Questions この辺りを読むと良いです。 What is Spacewalk? What's the difference between Satellite and Spacewalk? セットアップ方針 こんな感じで進めます。基本は公開ドキュメントに即していきます。 今回はパッケージインストール データベースバックエンドはPostgreSQLを使う 使用す
今回はApacheの動作や設定値の状態を見る方法を。 Apacheには現在の動作状況や、httpd.confの設定状況を見る手段が用意されています。 今回はそれらを有効にする方法を簡単にまとめます。 Apacheの動作状況を見る mod_statusを有効にします。 ソースファイルからApacheをインストールする場合は、 標準でmod_statusが組み込まれます。 RPMパッケージなら以下の設定が入っていることを確認します。 LoadModule status_module modules/mod_status.soそして以下のようなディレクティブを設定してApacheを起動します。 アクセス制御の設定を必ず有効にすることを推奨します。 標準のものからアドレス変えたければLocationディレクティブの設定を変えればOK <Location /server-status> SetHan
今日はソフトウェアRAIDを組んでいる場合の話です。 環境はCentOSです。 ブート領域をRAIDにする事も多いと思います。 普通にインストールすると、grubが一本目のディスクにしか インストールされません。 このままだと1本目のディスクが壊れた時に、 何か別の手段を取らないとブートできないという事態になります。 自分用メモも兼ねてまとめます。 ディスクパーティションの確認 今回のマシンはハードディスクを2本付けており、 それぞれソフトウェアRAID1の構成にしています。 「sfdisk」の結果はこんな感じです。 # sfdisk -l /dev/sda ディスク /dev/sda: シリンダ数 30401、ヘッド数 255、63 セクタ/トラック ユニット = 8225280 バイトのシリンダ、1024 バイトのブロック、0 から数えます Device Boot Start End
ログのローテーション処理は重要なのですが、実装が何気に面倒だったりします。 今回はシステム全体のログローテート処理用のものとは別の設定ファイルを用意して、 logrotateを使おうというお話です。 今回の想定を以下にまとめます。 ちなみにOSはCentOSを使っています。 ログローテート設定ファイル viで「/home/myuser/conf/mylog.conf」を設定ファイルとして作成します。 中はこのような設定です。 $ cat /home/myuser/conf/mylog.conf /home/myuser/work/mylog { copytruncate daily rotate 5 compress missingok } ログローテートステータスファイル touchコマンドで「/home/myuser/conf/logrotate.status」を作っておきます ログロ
毎回何となくIPアドレスの設定をやってしまう訳ですが。 今日調べていて覚えた事のメモです。 IPアドレスはDHCPで配布されているものを使いたいが、 「/etc/resolv.conf」の設定は自分で設定したいものを使いたい場合。 設定ファイルは「/etc/sysconfig/network-scripts/ifcfg-ethX(Xは数字)」とします。 その1 「PEERDNS=no」とすると、DHCPでIP取得時に「/etc/resolv.conf」は更新されない。 (設定されているものをそのまま使える) その2 「PEERDNS=yes」とし、 「DNS1=xxx.xxx.xxx.xxx(xxx.xxx.xxx.xxxは問い合わせを行うDNSサーバーのIPアドレス)」 とすると、DNSサーバーを指定できる 「Interface Configuration Files」が参考になりました
yumコマンドって便利だと思います。 通常インターネット上のリポジトリを指定して、 インターネット経由でパッケージをダウンロードしてインストールすることが多いと思います。 インターネットに直接繋げない環境で、 パッケージをインストールすることになったとき、 RPMの依存関係で悲惨な状態になるかも知れません。 そんなときにもyumを使うために、今回はローカルメディアを指定したyumの使用例です。 「CentOS-Base.repo」と「CentOS-Media.repo」 大体、以下のrepo設定ファイルが配置されていると思います。 /etc/yum.repo.d/CentOS-Base.repo /etc/yum.repo.d/CentOS-Media.repo yumコマンドを使用すると、普段は「CentOS-Base.repo」の設定に基づき、 リポジトリにアクセスをするかと思います。
今回はApacheのエラーメッセージと対処について思いつくところをまとめてみました。 ポートが競合している (98)Address already in use: make_sock: could not bind to address [::]:80 no listening sockets available, shutting down Unable to open logs 既にListenポートが使われているために、起動が出来ないパターンです。 Apacheが起動しているか、同じポートを使う別のデーモンが起動していると可能性が考えられます。 WellKnownポートをListenポートにしているがrootユーザーで実行しなかった (13)Permission denied: make_sock: could not bind to address [::]:80 no liste
UseCanonicalNameはOffにしておくほうが良いだろうという話です。 動作について 例えば以下のようなURLがあります。 http://xxx.xxx.xxx.xxx/directory 「http://xxx.xxx.xxx.xxx/directory」がディレクトリであった場合、 Apacheが最後の"/"を補完しようとします。このときにリダイレクト(HTTPステータスコード301)が発生します。 http://xxx.xxx.xxx.xxx/directory (301) ↓ http://xxx.xxx.xxx.xxx/directory/ (200) 普段あまり意識することはないと思いますが、「UseCanonicalName」というディレクティブがあります。 このUseCanonicalNameが意外に曲者です。この設定次第で自己参照URLの結果が変わります。 環境
今日はcobblerを使ってKickStartを使った自動インストール環境を 作ってみる事にします。 環境 OS : CentOS5.5を使います。 インストール まず、EPELのリポジトリを使えるようにします。 # rpm -Uvh http://download.fedora.redhat.com/pub/epel/5/i386/epel-release-5-4.noarch.rpm その後、cobblerをインストールします。 # yum install cobbler cobbler-web DHCP, DNSを使う場合は、必要なパッケージをインストールしておきます。 # yum install dhcp bind caching-nameserver Apache、cobblerを起動します。今回は自動起動するようにしておくことにします。 # /etc/init.d/httpd
今回はApache Traffic Server を試してみることにします。 調べながら書いているので、内容はご容赦を。 Apache Traffic Serverって? 米Yahoo!がオープンソースとして公開したものが元になっているみたいですね。 米Yahoo!、「Hadoop」実装に次ぐクラウド技術「Traffic Server」を公開 公式ページのトップはここです。 Traffic Server インストール READMEを見る限り、必要なソフトは以下の模様。 Fedora 11,12: autoconf automake libtool gcc-c++ glibc-devel openssl-devel tcl-devel expat-devel sqlite-devel (or optionally, db4-devel) pcre Ubuntu 8.04,8.10,9.10
RedHat系のLinuxOSのインストールを自動化するKickStartという仕組みがあります。 今回はこれを使って、そこそこ安全にLinuxインストールする方法を試してみようと思います。 参考にしたサイト RedHat本家のマニュアルが充実しているので、恐らくここで事足りると思います。 Red Hat Enterprise Linux インスト-ルガイド 後はこの辺り。 Stray Penguin RedHat Linux KickStart HOWTO どんな風にインストールする? 今回のコンセプトは「そこそこ安全に初期インストール」です。 ポイントはこんな感じです インストールするパッケージについては 最小構成をベースする コンパイル出来るようgcc, automake, autoconf などのツールは入れてしまう(最小構成・デフォルトだとインストールされないため) インストール
このページを最初にブックマークしてみませんか?
『think-t.hatenablog.com』の新着エントリーを見る
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く