Linux

軽量 Linux ディストリビューション linuxBean

日記的に。ちょっと訳あって、14〜15年前のメーカー製PC (Windows XP 時代) の中身を見てディスクを抹消するべく、いつも持ち歩いている USB ブートできる Ubuntu を起動させようとしたら、なんとPCが古すぎて USB ブートしないw仕方ないので、ディスクを取…

高次元ベクトルデータの近傍検索を「NGT」で試してみる

三国志のゲームの武将データを(サンプルに)使った近傍検索を、検索ライブラリ「NGT」を使って、試してみた話です。ひょんなことから、久しぶりに高次元(多次元)ベクトルのデータを扱うことになりました。(もとい仕事で扱うことにしました。)というのも…

Linux (Unix) の su コマンドの su は何の略か

"man 1 su" すると頭には以下の記載がある。 NAME su - change user ID or become superuserまだ学生の頃、師匠に初めて su コマンドの存在を教わった時から、私は "Super User" ではなく "Switch User" であるという認識だったが、お恥ずかしながらどうやっ…

/proc/sys/fs/* に関するメモ

年末なのでPCのファイルを整理したら、ブログエントリ用に整形された以下の "/proc/sys/fs/*" に関するメモ書きが出てきました・・・w ちなみにそのファイルの最終更新日は2011年1月です。CentOS 5系用だし。でもまぁ、何かの役に立つかもしれないので、こ…

LinuxのmailコマンドでSMTPサーバを使ってメール送信する (from GCE/nagios)

情報ソースとして割とあふれている話なんですが、前提が足りない情報が多いので、補足すべく書いておきます。 と、その前に、mail コマンドで SMTPサーバ経由のメール送信をやりたくなった、そもそもの動機を書いておきます。 GCE(Google Compute Engine)で…

Ubuntu に Oracle Java (JDK) を サイレントモードでインストールする

メモ。 PPAで公開されている webupd8team のリポジトリを使えば、apt で Oracle Java (JDK) がインストールできるので便利。 なのですが、 Chef さんとかで自動化しようとすると、途中でインタラクティブにご出現されるライセンスの同意画面が大変やっかいな…

Jenkins + Nginx(SSL) 構成での「リバースプロキシの設定がおかしいようです。」問題

(1ヶ月前くらいの話だけど)解決できたからメモっておく。私のケースは、あまりにもしょーもない恥ずかしい話で、インターネッツに事例が見つからなかったので晒しておこうと思います。 以下、時系列に書いていきます。OSは Ubuntu 14.04 LTS でござる。 Jenk…

Linuxサーバに搭載されているCPUコア数の確認

この前、若手に聞かれたので、ここにも書いておく。 好みでは有るが、可能な限り数字のみで標準出力に出せるようにしておくと、スクリプトの中などで並列実行数を動的に定義しやすい。 ちなみに下記の前提は、CentOS 6.6 & 56コア(!)のサーバで確認している…

Linuxでファイルの分割・結合

メモメモ。 分割 $ split -b 1G -a 3 -d test.dat test.dat. "-b"は、分割のサイズ "-a"は、接尾句の長さ(3なら"000"とか"aaa") "-d"は、接尾句を数字にしてくれる(00〜、指定無だと英字) 最後に、分割対象のファイル名と、分割後に出力されるファイルの接頭…

Linuxでファイルのチェックサム(check sum)の確認

たまにしか使わないのでメモ。 以下、Ubuntuで確認。 $ cksum test.dat 474118298 31704395710 test.dat $ md5sum test.dat e7855da4476705eb1a1fb7f92d0c6ab8 test.dat $ sha1sum test.dat 4eade702552666f5ec553b0174e965edf03f8c53 test.dat opensslコマ…

Linuxでストライピング(RAID0)なソフトウェアRAIDを組んでいた際にデバイスが外れてしまった場合

若手が(ry・・・シリーズ。次から他の人にやってほしいのでw 共有用のメモを残してしておきます。 Linuxのサーバで、ソフトウェアRAID(ストライピング)を組んでいたときに、片方のデバイスが不調で外れてしまったんだけど、デバイス内のデータは無事で、復…

複数のWebサーバでSSLセッションキャッシュを共有してSSL処理を高速化(Apache + mod_ssl + mod_socache_memcache)

HTTPS(SSL利用)サイトがSEO的に優遇されるトレンドで、世間的にもHTTPS接続でサイト運用するサービスが増えてきています。 これが、ハイトラフィックサイトになってくると、このフロントエンドでSSL処理させることが負荷的にもなかなか辛いのです。 で、Apac…

Apache 2.4系のRPMファイルを作成する

最近すっかりブログを書く頻度が落ちてしまっているので、このブログで1人アドベントカレンダーをやろうとしてたら、早速12/1から欠損してしまう程度にはダメ人間の私でございます。こんにちは。 ということで、ライトなネタと言えばメモ整理ということで、3…

LinuxでFusion-io ioDrive2の基本セットアップ

久しぶりに触ったのと、人と共有するためにメモっておく。 尚、OSはCentOS 6.4 (x86_64)、ioDrive2はDELL OEMなカードを使ったのと、ファイルシステムはXFSにした。 ちなみに、このメモを書いたのは4月なんだけど、なぜか7ヶ月も寝かせてしまっていた。 ドラ…

nanapi勉強会 vol2 で、シェルオプションの話をしてきた #nanapi_study

nanapiのCTOである@wadapさんに声をかけていただいて、LTをやってきました。 nanapi勉強会 vol2 - Shellの活用でこれだけ毎日が便利になる LTで使った資料を以下に公開しておきます。 bash(set)コマンドのオプション3選 from Yuuki Namikawa 資料だけだと伝…

Sensu Serverをインストールする手順メモ

ゴールデンウィークに突入したタイミングで色々忘れてしまいそうなので、ここにSensu Serverの作り方をメモっておく。 ちなみに、Sensuは最近ナウなヤングにバカうけのモニタリングツール。インストールした環境は、CentOS 6.5 (Linux version 2.6.32-431.11…

特定のソースIPアドレスからpingを送りたいとき

人生で彼是5回くらいググっている気がするので写経しておく。サーバに複数のネットワークインターフェースがついていたり、IPエイリアス(VIP)を付与していたりして、複数のIPアドレスを持っている場合、特定のIPアドレスをソースとしてpingを送りたい、とい…

Redis(2.8系)の基本オペレーションとかSentinelの挙動とかの色々メモ

最近必要に迫られて、ようやくRedisをインストールして触ってみました。(Redis童貞からの脱却) 色々と、基本部分ではあるけど、せっかく実際に触りながら勉強したので、このエントリにメモしておこうと思います。 尚、使ってみたRedisのバージョンは、stable…

nscdが保持しているキャッシュをクリアする

hostsファイルの記載に誤りがあるまま、telnetコマンドを実行した。 で、誤りに気付き、hostsに記載のIPアドレスを修正し、telnetコマンドを再度実行したが、なぜか古い記載のアドレスに接続しにいく。むむっ、と思って、straceしてチェックしたら、 connect…

Linuxで使っているNICのドライバやバージョンを調べる方法いろいろ

稼働しているLinux OSで、ネットワークインターフェースにどのドライバ(のどのバージョン)が実際に適用されているのか、をどうやって調べたくなる時があります。 覚えている限りでその色々を書いてみる。ちなみに、以降の紹介例ではCentOS 6系で試してみまし…

Quaggaを使ってLinuxサーバで動的ルーティング

Quaggaは、UNIX/Linuxプラットフォームで動くルーティングソフトウェアです。 OSPF、BGP、RIP等のプロトコルが実装されていて、GNU Zebraから派生したソフトウェアだとか。 某所の環境が、ロードバランサを設置(というかLBに仮想IPアドレスを配布)すると上位…

Lsyncdのインストールと設定+α

Lsyncdを入れてみた作業メモ。環境はCentOS 6系で、Lsyncdのバージョンは2.1.4。 Lsyncdは、Linux Kernelに組みこまれているinotifyを使って、指定したディレクトリ配下で変更が加えられた場合に、ほぼリアルタイムにrsyncで(遠隔のサーバなどに)同期をかけ…

HAProxyのパフォーマンスチューニングをやったメモ(CPS編)

HAProxyを使う上で、どうやったらパフォーマンスが上がるのかを模索するメモ。 基本的に、万能なパフォーマンスチューニングはないので、今回はCPS(Connections per Second)のパフォーマンスを上げることに焦点を絞ります。CPS(Connections per Second)は、…

CentOS 6系で xfsaild が "D" Stateのままになる件がFIXされていた

タイトルの件、昔twitterに書いたような気がしますが、xfsaildのステータスが"D"のままになりLAが特定の数字で張り付くことがたまにあって、あんれーと思っていたのですが、気付いたらちゃんとFIXリリースされていました。 あんまりしっかり見ていなくてすみ…

HAProxyを透過型のプロキシとして使う(HAProxy with tproxy)

HAProxyは基本的にL7レイヤのロードバランサー(リバースプロキシ)なので、バックエンドにいるリアルサーバには、フロントエンドから届いたリクエストが、ロードバランサのIPアドレスからアクセスが来たかのように振舞います。 で、HAProxyはtproxy(transpare…

TIME_WAIT状態のTCPコネクションを早く終了させるべくKernelをリビルド

以前、一度やったはずなのですが、すっかり忘れてしまっていて、結局調べることになったので、今回はここに作業ログを残しておきます。 TIME_WAITコネクションの増殖 一般的にネットワークアクセス数が極端に多いサーバでは、TIME_WAIT状態のコネクションが…

HAProxyでSSL処理をできるようにする

ロードバランサとかリバースプロキシを使って色々やっていると、HTTPS/SSL対応かー、どうしようかなーみたいなことを考える日がそのうちやってきたりするかもしれません。 さて、最近触り始めたHAProxyなんですが、公式サイトの記載を見ていると、開発版のバ…

LinuxのTCP SYNの再送間隔の初期値が3秒から1秒に変更されていた

ということに、(今更?)気付いたお話です。HAを組んだ際のVIPの切り替えテストをやっているときに、高負荷時とかは切り替えに7秒ぴったりかかるケースとかがあって、7秒って何の数字だろうと疑問を持ちました。 OSは、CentOS 6.4(2.6.32-358.23.2.el6.x86_64…

HAProxy1.5系(開発版)のRPMを作成する

またしばらくブログを書いていなかった。いつも書いてるけど、こういうときはライトなログを残す。 CentOS 6系にHAProxyの1.5系(開発版)をインストールすべくRPMを作った。 とはいっても、HAProxyのtarballには、specファイルが添付されているので、ビルドす…

6rdプロトコルを使って、IPv6ネットワークとAmazon VPC(EC2)をつないでみた

タイトルの通りですが、IPv6を使っている自ネットワーク環境下から、Amazon VPCにVPN接続し、VPC内のインスタンスとIPv6ネットワーク配下のサーバとを通信(連携)できるようにしてみたログです。 IPv6を使う上での前提条件/要件 まず、今回話をする上での前提…