タグ別アーカイブ: 運用

GPTテーブルと Raid1 mdデバイスの復旧

はじめに

 インフラ担当者として障害発生は恐ろしいものですが切り離せないものでもあります。
 今回、2台のHDDでソフトウェアRAID md0(/boot用)とmd1(/用)として構成したmdデバイス上にインストールしたCentOS6で、2台目のHDD sdbが故障したため、sdbを新しいものに交換してCentOS6を起動した、というところからの復旧について紹介します。

続きを読む

partedコマンドでパーティション管理

はじめに

 AWS EC2インスタンス(Amazon Linux)に、新しいEBS(ストレージデバイス)を追加して、これをフォーマットする手順を紹介します。
 これまでパーティションを操作するコマンドとしてfdiskコマンドが主流でしたが、ストレージ容量の巨大化、EFIBIOSへの対応などの流れからpartedコマンドが主流になっています。

続きを読む

VirtualBox上のUbuntu14.04LTSをアップデートして再起動したら起動しなく(画面が映らなく)なったとき

はじめに

 セキュリティアップデートなどの適用でパッケージアップデートを実行したあと、再起動するとGUIログイン画面が表示されず、黒背景の画面が表示されることがあります。今回、これを復旧してみました。

続きを読む

メールサーバーに不正ログインの形跡がないかチェックする

はじめに

 Postfix への接続開始のログをもとに、簡易的にチェックする方法です。
 Postfix のログから接続ログのみを grep コマンドで抽出して、アクセス元のホスト毎に何件ずつあるかを awk コマンドで集計、件数が多いもの順に sort コマンドで並べ替え、をしています。
 この結果から、不明なホストからの接続数が多いもの、がないか、確認できるようになります。

$ sudo grep "connect from" /var/log/maillog |
       grep -v "disconnect from" |
       awk '{count[$8] += 1} END {for(i in count) printf("%08d,%s\n", count[i], i)}' |
       sort -r

大規模な MySQL データのエクスポートとインポート

はじめに

 MySQL は検索を早めるため、行データの他に Index を管理しています。
 この Index は行を追加するたびに更新されますが、大量のデータを一度に追加するインポートの場合は Index 更新にどんどん時間がかかるようになります。
 結果、データが多いほどインポートにかかる時間が指数関数的に増加します。
 よって、インポート時は Index を生成しないようにして、あとからまとめて Index を生成するようにすると、インポートにかかる時間を短縮できます。

 以降、下記のシェル変数を使って、具体例を交えながら解説します。

項目説明
DB_USERdb_userMySQL ユーザー名
DB_PASSWORDdb_passwordMySQL ユーザーのパスワード
DB_NAMEdb_name対象のデータベース名
DB_HOST127.0.0.1MySQLサーバーが稼動するホスト
DB_USER="db_user"
DB_PASSWORD="db_password"
DB_NAME="db_name"
DB_HOST="127.0.0.1"
続きを読む