Google のウェブログ公開ツールを使って、テキスト、写真、動画を共有できます。
日本時間 2015/07/01 08:59:59 から 09:00:00 の間にうるう秒が挿入されます。 検証手順と、どのように対応すれば良さそうか検証した結果をまとめます。 情報は、すべて執筆時(2015/06/18)のものです。 検証環境は Amazon Linux 2015.03、Timezone は Asia/Tokyo です。 うるう秒を挿入させない 時間遡行を起こさせない 08:59:60 を刻ませない の 3 点に対応するための方法を記します。 結論 追記(2015/06/25): ntpd を事前に止める手順で、すでに Leap Indicator(LI) がセットされている場合は、 ntptime -s 0 を実行する必要があります。 実行する必要があるケースは、ntptime で確認できます。 $ ntptime ntp_gettime() returns code 1
個人サーバで外部に公開するサービスを動かすときには、chrootを使うにこしたことはないわけです。サービス毎にchrootしてあれば、サーバソフトウェアにセキュリティホールがあっても、他の情報が漏洩したりする可能性をぐっとおさえることができるわけですから。 でも、そのためだけにVPSにdockerとかコンテナを入れて使うってのは、構築も運用もめんどくさいし、ディスク容量食うし、やりたくない。systemd-nspawnも割と重たい雰囲気だし、LTSなubuntuだとそもそもsystemd入ってないし… 俺たちがほしいのは、ホストの環境の一部のみにアクセスできる、手軽なjailだー! ってわけで、ざっくり書いたのが、jailing。 /usr/bin等、OS由来のディレクトリをchroot環境にread-onlyでエクスポートしつつ、指定されたコマンドを、そのchroot環境で動かすスクリプ
プロローグ screen/tmux を長いこと使っていなかった。 使ってみようと思ってネットの記事とか調べ始める 分割とか別にわりとどうでもよくね?と思う とりあえず、screen を入れる Ctrl-a を封印されて死ぬ(emacs ユーザなので) もう二度と使うか!と思ってアンインストール みたいなループを2年毎に繰り返していた。 僕はおじさんなので、端末は基本的に 80x24 でないと気持ち悪いし、だから分割とかしない。 (emacs はホスト側のやつ最大化して使うけど、こっちも分割使ってないので、分割のメリットが全くわからない。 何か見ながら作業する場合はふつうにバッファ切り替えればいいでしょ?くらいに思っている) 今回、某所で話していたら、「便利な nohup くらいでしか使ってない」みたいな話を聞いて、「逆にそれくらいならいいかも、いけるかも」と思って、 最終的に screen
GNUのcpを使って大量のファイルをコピーしたところ、cpの設計上の問題で、極めてコピーが遅かったというお話。 My experience with using cp to copy a lot of files (432 millions, 39 TB) よう。俺は最近、大量のファイルをコピーする必要があったんだが、UNIXは20年もやってきた俺の経験からも、cpの挙動には驚かされたし、俺の意見はコミュニティに共有されるべきだと思う。 環境:古いDellのサーバー(2コア、初期メモリ2GB、追加して10GB、Ubuntu Trusty)と、新しいDellのストレージ格納機(MD 1200)にある、12個の4TBディスクでRAID 6が設定してあって、全体で40TBの要領を持ち、二つのドライブが同時に失敗しても問題ない環境。サーバーは遠隔地バックアップに使われていて、ディスクへの書き込みし
既に有名な話ですが、CentOS 7およびRed Hat Enterprise Linux 7からはifconfigコマンドやnetstatコマンドが非推奨となり、デフォルトインストールすらされなくなりました。代替として、ifconfigコマンドはipコマンド、netstatコマンドはssコマンドが用意されています。 というわけでさっそくssコマンドを試していたのですが、明らかに動きがおかしなところがあり、少し調べてみました。 そして、「netstatコマンドの代替と思って安易にssコマンドを使うと、これは痛い目に遭うな……」ということが分かったので、不幸になる人を少なくするためにこのエントリを書きました。 概要 結論から先に言うと、CentOS 7/ RHEL 7のssコマンドには「UDPの開放ポートがTCPと報告される」というひどいバグがあり、使うべきではありません。 また、ssコマン
前回の(1)はこちらから。 プロジェクトでcronを利用する 筆者は普段ゲーム開発のサーバサイドを担当していますが、プロジェクトによってはバッチサーバのcrontabが100行を超えることもあります。イベント、ランキング処理、監視、集計、バックアップ、リカバリ処理などをしっかりやろうとすると、どうしてもそれくらいになってしまいます。 100行とはいかなくても、プロジェクトで使うcrontabの行数が膨らんでくると、サーバで直接crontabを編集することは管理上現実的ではありません。 crontabの記述とリポジトリ管理 では実際のプロジェクトでcrontabをどのように管理していけばよいのでしょうか。筆者は次の方針を立てています。 crontabの記述にゆるやかな規約を設け、リポジトリ管理する crontabの自動テストを行う crontabの反映方法をなるべく自動化する crontab
本連載では第一線のPerlハッカーが回替わりで執筆していきます。今回のハッカーはsongmuさんこと松木雅幸さんで、テーマはcronです。 なお本稿のサンプルコードは、本誌サポートサイトから入手できます。 cronとは? cronは指定日時にジョブの自動実行を行うジョブスケジューラです。UNIX系のOSであれば実装の違いこそあれ、ほぼ標準でインストールされています。 作業自動化や、タスクを自動実行したいなどといった場合にcronは避けては通れません。Perlでバッチ処理を書く際などに多くの人が活用していると思いますが、ベストプラクティスがわからず恐る恐る使っている人も多いのではないでしょうか。 本稿では、cron活用におけるベストプラクティスについてお話します。 cronの使いどころ cronの使い途は、主に次の3つが考えられます。 a.アプリケーションのジョブの実行 b.システムに関わる
Linux Storage Filesystem/MM Summit 2014からの便り:Linux Kernel Watch(1/2 ページ) お久しぶりです、Linux Kernel Watchが帰ってきました。3月に行われた「Linux Storage Filesystem/MM Summit 2014」の主なトピックを紹介します。 皆さん、お久しぶりです。私は今ボストンで、米レッドハット常駐という立場でRed Hat Enterprise Linux(RHEL)開発に携わっています。 今回はサンフランシスコ近郊のナパバレーで2014年3月24~25日に行われた「Linux Storage Filesystem/MM Summit 2014」(以下LSF/MM)の中から面白かったトピックをピックアップしてお届けしたいと思います。 LSF/MMはLinux Foundation主催で行
不慣れな環境を不意にいじった時にあるあるネタ。 とりあえずー とか言って勢いで書いたsetupスクリプトを実行してみたら意外と時間かかって、 ちょっと目を離した隙にsshの接続が切れちゃいました! 。。。ありますよね。ほんとよくありますよね。 そうなる予感はあったんだ なんて後の祭りです。ふとした油断から、screenもnohupすらも使わずにやってしまって、こんなことに。 shellがHUPしなかったからプロセスは生きてるものの、ログが見れないから進行状況がわからない。 うまく行ってるのかどうかモヤモヤした気持ちのまま、プロセスが終わるのをじっと待つ。。。 まぁ実に切ないです。 こんな時、いつも思うこと。 このプロセスの出力、もっかいstdoutに繋げられたらいいのに。。。 はい。というわけでつなげましょう。 長い前座ですみません。 切り離したプロセスを用意 #!/bin/bash wh
わりと長い間悩んでいたんだけど、最近解決したのでメモ。 サービスで利用しているsmalllightの画像変換サーバが、Apacheが使っているメモリ以上のメモリを使用し、Swapしたりメモリ枯渇でサーバがダウンするなどのことが何度かありました。 ↑メモリの動きはこんな感じ いろいろ調べた結果「dentry cache」なるものがメモリ多くを占めていることがわかりました。dentry cacheはディレクトリやファイル名とinodeとを結びつけに使われるキャッシュです。smalllightでは画像を変換する際に一時ファイルを作成するので、その情報が残るようです。 手元で再現させる 本番で使っているサーバはCentOS5系ですが、手元のVagrant上のCentOS6(ファイルシステムはext4)で、再現させてみました。 use Parallel::Prefork; use File::Tem
CentOS開発チームは10月19日、Red Hat Enterprise Linux(RHEL)と互換性を持つフリーのLinuxディストリビューションCentOSのバージョン5系最新版「CentOS 5.10」をリリースした。「RHEL 5.10」と互換性があり、MySQL 5.5などRHEL 5.10の新機能が利用できる。 CentOSはRHELとの完全なバイナリ互換を目指すディストリビューション。公開されているRHELのソースコードをベースに、商用パッケージや商標を除去してフリー化したもの。対応アーキテクチャはi386およびx86_64。 CentOS 5.10は、CentOS 5系の最新版となる。10月1日のRHEL 5.10から3週間弱でのリリースとなり、MySQL 5.5およびMySQL 5.1がサポートされるなどのRHEL 5.10の新機能が加わっている。MySQL 5.5は
斎藤です。こんにちは。 今日は、デーモンの起動・終了に際してはserviceコマンドを使った方がいいよ、というお話です。 ※CentOS 6.4 (x86_64) でテストしています。尚、特記がある所を除きます。 デーモンの起動・終了には大きく2手 Linux、特にRedHat, CentOS, Fedora, Ubuntu[1]などでは、デーモンの起動・終了の制御の際に、大きく分けて次の2つの方法を用いる事ができます。 "/etc/init.d/"配下のスクリプト(以下、スクリプト)を直接実行する "service"コマンドを実行する 一見、同じ事をやっているように思えるのですが、実は違う部分があります。それは、起動スクリプトが扱う環境変数が違うのです。次の節で、検証してみます。 扱う環境変数が違う スクリプトを直接実行する場合は、実行時の際の環境変数をそのまま利用します。一方、serv
ある日、ぼーっと DB のコピーをした後に、コピー元と uid が違っていたので以下のようなコマンドを叩いた。ぼーっと。 chown -R mysql:mysql ../これを叩いたときのカレントディレクトリは /var/lib/mysql である。ドットが一個多いので /var/lib 以下が全部 mysql になって大惨事。 こういうとき FreeBSD だったらmtreeを使うんですが、 GNU/Linux だと無いようなのでどうするねん。と困っていたところ、 satoh_fumiyasu@ さんに getfacl/setfacl というポインタを教えてもらいました。 同一構成の適当なホストからパチってきて合わせる。 -bash-3.2# hostname rokuchotouge -bash-3.2# pwd /var -bash-3.2# getfacl -R lib | nc
「いますぐ実践! Linux システム管理」はこちらです。 メルマガの解除、バックナンバーなども、以下からどうぞ。 https://www.usupi.org/sysad/ (まぐまぐ ID:149633) その他、作者に関するページは、概ね以下にございます。 https://www.usupi.org/kuri/ (まぐまぐ ID:126454) http://usupi.seesaa.net/ (栗日記ブログ) https://twitter.com/kuriking/ (twitter) https://facebook.com/kuriking3 (facebook) https://jp.pinterest.com/kuriking/pinterest) https://www.instagram.com/kuri_king_/ (instagram) [バックナンバーのトップへ
Linux には複数のファイルシステムがあります.これらには,仕様としての機能差の他に,品質・安定度に関して大きな差があると考えられています. 今回は,そのあたりを定量的に分析した論文をご紹介. A Study of Linux File System Evolution [キャッシュ] https://www.usenix.org/conference/fast13/study-linux-file-system-evolution 調査の対象は,XFS/Ext4/Btrfs/Ext3/Reiser/JFS の 6 つのファイルシステム.これらについて,Linux 2.6.0 (Dec ’03) から 2.6.39 (May ’11) の間に取り込まれた 5,079 個のパッチを分析しています. パッチの種類 まず,パッチを次の 5 種類に分類しています. Bug バグの修正. Reli
Starletのヘッダとボディを合わせて出力する閾値を変更してみる - Hateburo: kazeburo hatenablog この手の記事の話でコンテキストスイッチについて出てくることが あるけど、あまり数値が併記されているものがないように思えます。 その手のプロの人が言っているので、確かな情報だと思うのですが、 やはり数字を一緒に載せていただけるとより真実味が増すと思います。 プロセスのコンテキストスイッチ回数の確認方法(Linux) procfsから確認することができます % cat /proc/{目的のプロセスのPID}/status | grep ctxt voluntary_ctxt_switches: 145031 nonvoluntary_ctxt_switches: 13452自発的(voluntary)なコンテキストスイッチは、sched_yieldを呼び出した場合
tmux便利ですよねー どのくらい便利なのか具体的な使い方を説明しながら布教してみるテスト 0.前提、初期設定 ~/.tmux.conf を用意します。 こんな感じの.tmux.confを使っています パネル移動がviキーバインドで移動できるようにしています。 PrefixKeyはデフォルトではCtrl+Bです。 ここではPrefixKeyと表記します 1.セッション 以下のコマンドでセッションを開始できます 名前を付けた方が分かりやすいので、名前を付けておきます $ tmux new -s projectA 作れました 突然projectBの仕事が入ってきました デタッチして新しいセッションを開始します PrefixKey d $ tmux new -s projectB projectBの作業が終わったので、projectAに戻ってみます PrefixKey :choose-sessi
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く