サクサク読めて、アプリ限定の機能も多数!
トップへ戻る
iPhone 16
raymonmon.blog38.fc2.com
最近のMySQLはInnoDBが主流かと思うけど、 InnoDBでテーブル作ると二つのファイルが出来る。 table名.frmってやつとテーブルスペースのファイル(デフォルトではibdata1という名前) まずこれらが何を意味すかと言うと、 table名.frm テーブル構造のデータ ibdata1 レコードデータやインデックスデータ つまり、table名.frmはカラム構造などを、実際のデータはibdata1にある訳ですね。 ではこれらの格納位置を変更するにはどうするか? 設定はmy.iniで簡単に出来ます。 以下二つのパラメータを変更 (両方ともSERVER SECTION配下にある) datadir="格納パス" innodb_data_home_dir="格納パス" ちなみに上のがtable名.frmファイルで下のがデータファイルのパラメータ。 編集後、一旦MySQLをシャ
LDAPのアクセスコントールは分かりづらいので設定を纏めてみる。 今回例として、開発部と営業部という仮のグループを作成してみます。 それぞれ専用サーバを保有していて、自部署のサーバにはログイン可能だが 相手のサーバにはログイン不可、といった形のどこにでもありがちな構成です。 実際の設定の前に、自部署サーバ ~ LDAPサーバ間の認証の流れを確認。 1. 自部署サーバにログインする際、個人のアカウントとパスワードを入力 2. 認証情報を入力された自部署サーバは、認証情報をLDAPサーバへ問合 3. LDAPサーバは受け取った認証情報を元に自身が保持しているデータを検索 4. LDAPサーバが検索結果を自部署サーバへ返す 5. 返された結果を元に、自部署サーバが実際の認証処理を行う 簡単に確認すると以上。 ここで今回重要なのが2.で、 認証情報をLDAPサーバへ問合せる際に、 問合せそのものに
主にNW機器の認証もLDAPに任せたい、 って時によくあるRADIUSとの連携について纏めてみます。 ちなみにLDAPは既に構築済みで正常に動作しているものとします。 RADIUSについてはFreeRADIUSを使用しました。 では順を追って説明。 ①. FreeRADIUSのインストール。 # cd /usr/local/src/ # tar zxvf freeradius-1.1.7.tar.gz # cd ./freeradius-1.1.7 # ./configure --prefix=/usr/local/radius ← ここはお好みで # make # make install 以上でインストールの完了。 まず、LDAPと連携させる前にローカルユーザーとの連携が可能か確認。 今回インストールしたFreeRADIUSはデフォルトでローカルUnixユーザーを 見に行く設定になって
ちょっとした事情でBIG-IPで管理していたSSLの 証明書をWEBサーバに直接入れる事になりました。 ちなみに証明書はベリサインで署名済みのCSRです。 まずはBIG-IPで証明書と秘密鍵をエクスポートします。 この時中間証明書も忘れない事に注意。 そしては後はWEBサーバに持ってきてApacheで設定するだけ。 Virtual hostを使用しますが今回はIPベースのVirtual hostを使いました。 NameベースのVirtual hostはSSLが使えないと思っている人が結構いるみたいですが、 最近はSNIやワイルドカード証明書、subjectAltNameを使用すればいけます。 また機会がありましたらこちらは纏めてみたいと思います。 今回はApacheの2.0系を使用しましたので、SSLの設定はssl.confで行います。 ssl.confはデフォルトの設定のままでも動きます
今回はOpenSSHの公開鍵をLDAPで管理してみます。 通常の鍵認証の場合はまず公開鍵と秘密鍵を作成し、ログイン対象 サーバのホームディレクトリに公開鍵を置いてあげなければいけません。 数台であれば手間ではないですが、大規模なシステムでは非常に面倒。 また、新規にユーザーを追加する場合も全台に鍵を追加しなければならない。 そこで、公開鍵をLDAPで管理させログイン時にユーザ情報と一緒に鍵も読み出すようにする。 そうすれば対象サーバが増えようが新規ユーザー追加しようがそのサーバが LDAPに対応してさえいれば一度の登録で全て事が済んでしまいます。 但しパッケージで入っているOpenSSHは公開鍵認証のLDAP化をサポートしていないので、 lpkパッチを当てたソースからインストールする事にします。 ①. OpenSSHのインストール。 # tar zxvf openssh-4.6p1.tar
今回はautofs + NFS + LDAPを使用してホームディレクトリの一元管理化を行います。 LDAPの設定は全て済んでいて正常に動作しているものとします。 また、NFSはLDAPサーバ上に構築します。 まず、手動でNFSをマウント出来るように設定。 ①. NFSサーバの/etc/exportsに以下を追記。 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /home *(rw) ← アクセス制限なし(かける場合は"許可するIP/ネットマスク") ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ②. 以下サービスを順に再起動。ついでに自動起動の設定。 # /etc/init.d/portmap restart # /etc/init.d/nfslock restart # /etc/init.d/nfs resta
Linux関連トピック中心のブログにするつもりでしたが 気付いたらあんまりLinux関連の記事をUPしてませんでした。。 なので今日は珍しくLinuxの話題を一つ。 karnel 2.6.19からリリースされているext4ですが、 世間一般にはあまり浸透してないようですね。 (ext4が既にリリースされている事を知っている人自体私の周りでもあまりいませんでした。。) かくいう私も一度だけ話題作りの検証をしてみただけです。 検証したのが結構前で情報も乏しかったので今回は とりあえずext4の特徴について纏めてみたいと思います。 まず初めにですが、ext4は今も開発中ですので機能リストは常に流動的です。 正確に把握しておきたいのであればsourceを読むかkarnel watchしておいて下さい。 今回は現時点の最新stable版2.6.28を中心に特徴を纏めます。 1. 16TB越ファイルシ
最近LDAPのサーバでnetstatを叩いたらなんとセッション数が1000を超えていた。 そんな大規模システムでもないのに何故?? 確かにクライアント側では諸事情でnscdは動かしていないがいくらなんでも多過ぎじゃ?? ありえないセッション数に調査を開始。 サーバ上でtcpdumpを叩いてLDAPの通信を眺めていると、どうやらwebサーバのhttpd、 mailサーバのsmtpd、さらにはcrondまでもがLDAPサーバにユーザ問合せに来ている。 OSのアカウントしかLDAP認証に対応させていないのに何故だ!? 通信に来るタイミングを見ていると、どうやら親プロセスが子プロセスをfork()する度に、 立ち上げユーザの情報取得の為にnss_ldapライブラリが通信に来てやがりました。 で、ここでさらに疑問が発生。 上記の問題のデーモンの立ち上げユーザは全てroot、もしくは専用ユーザとなって
今回はOpenLDAP Ver2.3からの機能であるppolicyオーバーレイを使用して、 LDAPのみで完結するパスワードポリシーを適用してみます。 Ver2.3系からppolicy用にppolicy.schemaという新しいスキーマが用意されており、 このスキーマを使用するとpwdPolicyというオブジェクトクラスを使用出来るようになります。 始めにパスワードポリシールールのエントリを追加。 これにはユーザー毎に個別のポリシーを作る方法と、 デフォルトのポリシーを作成して全ユーザーに適用する方法があります。 今回はデフォルトのポリシーのみを作成し、それを全ユーザーに適用してみます。 まずは、デフォルトのパスワードポリシーを作成。 ①. デフォルトポリシールールを記述した、以下のldifファイル(ppolicy.ldif)を作成。 ~~~~~~~~~~~~~~~~~~~~~~~~~~~
前回に引き続きESXのお話。 仮想マシンを作成しPowerOnすると、LUN上に仮想ディスクのvmdkファイル以外に vswapという巨大な物理ファイルが作成される。これは仮想マシンに割り当てたメモリと 同じだけ領域が取られので、仮に仮想ディスクを10GB、仮想マシンのメモリを4GB割当て たと仮定すると合計14GBの領域がLUN上に必要になる。 なのでLUNを作成する時には予めvswap領域も計算して空き領域を確保しておかないと、 仮想マシンのPowerOnが出来ない。vswapは仮想マシン起動時に作成されるが、こいつが 作れないと起動にこけるからである。 (ちなみにPowerOffのステータスだとこのvswapのファイルは作成されない) ではこいつはそもそも何の為に必用なのか? ここでまた前回お話したメモリバルーニングという言葉が出てくる。 バルーニングとは、ある仮想マシンからメモリを
今回はVMware ESX 3.x系のお話。 ESXは物理リソースを仮想マシン同士で共有しているのだが、 メモリのアロケートやCPUコアの割当ては基本ESX任せである。 個別に固定的に割当ても可能だが、それではサーバのアイドル時に他のピークサーバに 対して動的に割当てを変更したりは出来ないので、そういう運用はあまりされていないはず。 そもそもこの運用では仮想化のメリットも半減だと思う。 なので基本はESXにお任せで動的にリソースを割当ててもらうのがベスト。 但し、実は落とし穴もあってそれがメモリバルーニングという機能である。 こいつはメモリ割当てが多いにも関わらず、アイドルメモリの量が多い仮想サーバから メモリを解放して、忙しく動いているサーバに対してメモリを割当ててやる機能だ。 (厳密に言えば解放までがバルーニングで後の割当てはESXが行う) この機能自体はサーバのリソースの最適化という
前回のLDAPセッション数の問題ついでに。 セッション数といってもサーバ側はリッスンソケットを生成するだけなので、 扱いはローカルのファイルと同じ。つまりファイルディスクリプタによる訳です。 一プロセス辺りのファイルディスクプリタの限界はulimitのopen filesによるので、 ulimitを使えば簡単に変更可能。 デフォルトは1024だった。 (前回はセッション数1000を超えていたのでかなり危険な状態でした。。) サービス毎にulimitiの値を指定するにはinitスクリプトに以下を追記するだけ。 例えば、LDAP(slpad)のulimitの値を変えるには以下のようにする。 /etc/init.d/slapd ulimit -Sn 8192 ←ソフトリミットを8192に変更 ulimit -Hn 8192 ←ハードリミットを8192に変更 これでセッション数が1000を超えても
メモリチューニングの一環としてページキャッシュの効率化を纏めてみます。 ちなみにLinuxは空きメモリをがしがしファイルI/O用のキャッシュとして利用しますが、 メモリはページ単位で分割管理されており、これらのキャッシュをページキャッシュと言います。 (これらは使われっぱなしではなく頻繁に割当て、解放が行われています) ではページキャッシュのチューニングとは何をするかと言うと、 要は無駄なページキャッシュを残さないようにしてあげればよいのです。 通常のI/O処理はライトバックで処理されているので、ページキャッシュに書き込まれた時点で プロセスには書き込み完了通知が返され、キャッシュ上のデータはバックグランドでディスクに 書き込まれていきます。 ライトバックしたキャッシュ上のデータは解放可能なデータとなりますので、 頻繁にライトバックをしてあげる事でキャッシュの解放サイクルを早める事が出来ま
Tomcat5のログの一覧。 Tomcatはログの種類が多数ある上に、起動時に叩くバッチ、exeにより吐き出しログが違う。 なのでややこしいのでとりあえず纏めておく。 tomcat5.exeの場合 jakarta_service.log サービス起動停止のログ stdout.log 標準出力 stderr.log 標準エラー出力 設定方法はtomcat5.exeから行う。 まずはservice.batを叩いてサービスへ登録 その後、tomcat5を使って各設定の変更が可能。 (ログレベルやログの吐き出し先、ログファイル名の変更などなど) 設定方法の詳細は下記リンク見れば分かりやすい。 windows-service-howto 次に、catalina.batから直接起動した場合。 catalina.out サービス起動停止(tomcat5.exe
このページを最初にブックマークしてみませんか?
『Linuxエンジニア日記』の新着エントリーを見る
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く