Category: サーバー
-
MS SQL Server
AccessからSQL Serverに移行していくつかハマりつつ解決策が何となく発見されたものについて。 NULLを含む列のユニーク化 普通にやるとNULL同士が重複しているとエラーになる。 本当ならNULLはNULLと重複しないのがSQLの規定のはずだが仕方がない。 インデックスを作成して、フィルターに IS NOT NULLを付ければNULL以外は重複禁止、ができるようだ 集計データ列 列に式を入れる方法。本当なら一意でないデータを1行内に入れるのはよろしくないのだが、ビューにすると更新とか面倒になったので数式で。 正式名と省略名があって省略名があれば省略名、無ければ正式名とする方法 CREATE TABLE 商品 ( 正式名 nvarchar(20) NOT NULL, 省略名 nvarchar(10) NULL, 商品名 AS (ISNULL([省略名],[商品名])) CREATE UNIQUE NONCLUSTERED INDEX [商品正式名] ON [商品]( [正式名) ASC) CREATE UNIQUE NONCLUSTERED INDEX [商品省略名] ON [商品]( [省略名) ASC) WHERE ([省略名] IS NOT NULL) こんな感じで正式名はNOT NULLで重複禁止、省略名はNULL okで重複禁止、商品名ができるだけ短い名前、といったテーブルが作成できた SQLServer Mangement Studio […]
-
SSSD
ふとsssdの存在を知って入れてみたが、/etc/passwdにないユーザ(LDAPにのみ存在するユーザ)は扱えないらしい。 ので捨てw できるのかもしれないけどとりあえずlibpam-sssでUser not known to the underlying authentication module が出るのでざっと調べたら/etc/passwdに無いユーザは対象外だそうで、そのうち使えるようになる or 警告無視で使えるのかもしれないけどとりあえず使用はパスする方向で。
-
ipsec
やっと3拠点のネットワーク接続ができた NIC2枚差しにしたり余っているルーターを使いまわしたりあれこれやってみたが、結局中古のrtx1500をもう一台購入というオチになった とりあえずNGNの折り返しのIPv6網上にipsecでv4通してripで回してなんとか接続。 ipv4グローバルアドレスで接続するとpingが18msぐらい。 ipv6グローバルアドレスで接続するとpingが4msぐらい。 ipv4プライべートアドレスで接続するとpingが5msぐらい。 ipv6プライベートアドレスで接続するとpingが5msぐらい。 拠点間全部が相互につながっているわけではないので一つはさむと10msになるが、これだけ速度でてりゃいいだろw お店の防犯カメラもリアルタイムに見れて満足。
-
munin-async
相変わらずの思い付き作業であるが、munin-asyncが動いたのでメモ。 この手のは毎回、どっちがサーバーでどっちがクライアントなのかわからなくなるので困る orz remote machineがデータ収集される方(クライアント)で、serverがデータを収集する方です。 ローカルでデータをため込んで要求に対して返事をするんだからリモート側もサーバーと言えばサーバーなんだよな(ぶつぶつ とりあえず。マシン名としてremoteとserverで。普通にmuninで収集できているものとします。 インストールはapt-get でばばそ。 serverで。 ごにょごにょ聞いてくるが一度ログインしてみる。 もう一度ログインしてみて、何も聞かれなければOK シェルを戻しておく。これって/usr/sbin/nologinの方がdebian的なのではないのだろうか・・・ あとはserverのmunin.confで でおけ。 マニュアルには/var/lib/munin/spoolとか書いてあるけど実際には/var/lib/munin-async/ のようだ あとはremoteで /etc/init.d/munin-node start で起動しておいて、データを収集させておき、server側で/etc/init.d/munin startで収集を行う。 /var/log/munin/munon-update.logとかを見て変なエラーが出てなければOK 今まで1分以上かかっていたのが10秒ぐらいに短縮された :D~
-
パッケージの再構築
なんかここしばらくbind9とかsquid3とか再パッケージのコンパイルに失敗するなーと思っていたらライブラリが壊れていたっぽい。 bind9のconfig.log見たらldがエラー吐いていたので気が付いた。 かつ、テスト用の別domU上だと成功したりするのでこれはファイル破損かなと。 何か壊れているのかなーとdevelのパッケージ一通り消したりしてごちゃごちゃやっていたのだが、どうも壊れていたのがlibm.soとlibcap.soだったらしく、libcapはともかくとして(?)、libm.soはlibc6-devパッケージだったりするのでこれはさすがに消さないからわからんよなー。 とりあえず apt-get –reinstall install libc6-dev libcap2で治ったようだ。 何かチェックツールなかったかなーと探してみたらdebsumsが既に入っていた。警告メールも来ていた(爆) ldとかldconfigとかlibm-2.17.soとかlibglib-2.0.soとか(汗 関係ファイルを再インストールしてdebsums -csでエラー出なくなりました。 外からの改竄ではなくてファイル破損とかじゃないかなーと祈っておきます(汗