そらとぶへび

仕事・プライベートを通しての気づき、JavaやPHP、データベースやサーバの話などこつこつと書いていきます

CentOS ディスクの追加、パーティションの新規作成、マウント処理

仕事でCentOSのディスク新規追加や、取り外しをした際の作業Tips。


対象OS:CentOS 6.6 64bit Plain (CentOS 64bit)


アンマウント、ディスクを取り外す場合に、対象ディスクを認識したまま切断すると、
異常な状態になるので、以下の処理を行う。


マウントを解除

 #umount -l /home/test

認識を外すデバイスを確認する

# dmesg | grep -i 'Attached SCSI disk'
sd 2:0:0:0: [sda] Attached SCSI disk
sd 2:0:1:0: [sdb] Attached SCSI disk

外すデバイスを指定。

/sys/class/scsi_device/2:0:1:0/device/delete

正常に外れているかを確認をする。

# fdisk -l



ディスクを再接続後、スキャンで追加されたDISKが見えるようにする

# for i in $(find /sys/class/scsi_host -name 'scan') $(find /sys/devices -name 'scan') ;do echo "- - -" > $i ; done

追加されたDISKを確認

# fdisk -l
ディスク /dev/sda: 32.2 GB, 32212254720 バイト
ヘッド 255, セクタ 63, シリンダ 3916
Units = シリンダ数 of 16065 * 512 = 8225280 バイト
セクタサイズ (論理 / 物理): 512 バイト / 512 バイト
I/O size (minimum/optimal): 512 bytes / 512 bytes
ディスク識別子: 0x0004bc0c

デバイス ブート      始点        終点     ブロック   Id  システム
/dev/sda1   *           1          66      524288   83  Linux
パーティション 1 は、シリンダ境界で終わっていません。
/dev/sda2              66         334     2150400   82  Linux スワップ / Solaris
パーティション 2 は、シリンダ境界で終わっていません。
/dev/sda3             334        3917    28781568   83  Linux

ディスク /dev/sdb: 107.4 GB, 107374182400 バイト
ヘッド 255, セクタ 63, シリンダ 13054
Units = シリンダ数 of 16065 * 512 = 8225280 バイト
セクタサイズ (論理 / 物理): 512 バイト / 512 バイト
I/O size (minimum/optimal): 512 bytes / 512 bytes
ディスク識別子: 0x00000000

領域を作成します。

# fdisk /dev/sdb

警告: DOS互換モードは廃止予定です。このモード (コマンド 'c') を止めることを
      強く推奨します。 and change display units to
         sectors (command 'u').

コマンド (m でヘルプ): m
コマンドの動作
   a   ブート可能フラグをつける
   b   bsd ディスクラベルを編集する
   c   dos 互換フラグをつける
   d   領域を削除する
   l   既知の領域タイプをリスト表示する
   m   このメニューを表示する
   n   新たに領域を作成する
   o   新たに空の DOS 領域テーブルを作成する
   p   領域テーブルを表示する
   q   変更を保存せずに終了する
   s   空の Sun ディスクラベルを作成する
   t   領域のシステム ID を変更する
   u   表示/項目ユニットを変更する
   v   領域テーブルを照合する
   w   テーブルをディスクに書き込み、終了する
   x   特別な機能 (エキスパート専用)

コマンド (m でヘルプ): n
コマンドアクション
   e   拡張
   p   基本パーティション (1-4)
p
パーティション番号 (1-4): 1
最初 シリンダ (1-13054, 初期値 1):
初期値 1 を使います
Last シリンダ, +シリンダ数 or +size{K,M,G} (1-13054, 初期値 13054):
初期値 13054 を使います

コマンド (m でヘルプ): p

ディスク /dev/sdb: 107.4 GB, 107374182400 バイト
ヘッド 255, セクタ 63, シリンダ 13054
Units = シリンダ数 of 16065 * 512 = 8225280 バイト
セクタサイズ (論理 / 物理): 512 バイト / 512 バイト
I/O size (minimum/optimal): 512 bytes / 512 bytes
ディスク識別子: 0x083d66ef

デバイス ブート      始点        終点     ブロック   Id  システム
/dev/sdb1               1       13054   104856223+  83  Linux

コマンド (m でヘルプ): w
パーティションテーブルは変更されました!

ioctl() を呼び出してパーティションテーブルを再読込みします。
ディスクを同期しています。

パーティションの更新情報を認識させます。

# partprobe

パーティションをフォーマットします。

# mkfs -t ext4 /dev/sdb1

自動マウント設定を行ないます。再起動した場合も自動的にマウントするよう設定を行ないます。

# vi /etc/fstab
# diff /etc/fstab /etc/fstab.ORG
12d11
< /dev/sdb1               /home/test                   ext4    defaults        1 2

作成したディレクトリにマウントします。

# mount /dev/sdb1 /home/test

マウントしたディスクが認識されているか、確認。

# df
Filesystem     1K-blocks    Used Available Use% Mounted on
/dev/sda3       28198044 1297680  25461288   5% /
tmpfs            4028756       0   4028756   0% /dev/shm
/dev/sda1         499656   30892    442552   7% /boot
/dev/sdb1      103079868   61044  97776016   1% /home/test


一応、これで完成。


なお、同じディスクで、パーティションの削除、作成を繰り返していると、下記のエラーが出ることがあります。

コマンド (m でヘルプ): w
領域テーブルは交換されました!

ioctl() を呼び出して領域テーブルを再読込みします。

警告: 領域テーブルの再読込みがエラー 16 で失敗しました: デバイスもしくはリソースがビジー状態です。
カーネルはまだ古いテーブルを使っています。
新しいテーブルは次回リブート時に使えるようになるでしょう。
ディスクを同期させます。

メッセージを読むとリブートするの??って思いますが、partprobe コマンドで再読み込みをすれば、OSを再起動しなくても認識されます。

からだ作りをしなければと

体重計にのって思い立った5月から7月にかけて5Kg減を成功、その後11月現在に至るまで、たいしたリバウンドもなく緩やかに維持しています。
毎週、大好きな酒を飲みつつも無理なく続けられそう。
そんなわけで、今回行ったダイエットについて食事と運動それぞれを軸に書いていこうと思います。
あくまで自分が行っている方法を書いただけで、万人向けではないかもしれませんが、参考になれば幸いです。

食事については、最近コンビニでもよく見かけるロカボを取り入れ、食べることも飲むことも好きなので、無理な食事制限はしたくありません。
そこで、糖質制限、なかでももゆるやかなパターンで行うことにしました。運動は、ときたま行っていた水泳を主にすることにしました。

  • ロカボな食事は空腹知らず
  • 運動について
  • まとめ
続きを読む

AWS S3へのファイルアップロード

[環境]
AWS EC2
php:5.6.30
FuelPHP:1.8

AWS SDK for PHPを使って、S3にファイルをアップロード・ダウンロードする方法をまとめます。
バージョンによって違ったりするので、今回使用した一連のパターンをまとめました。

なお、使用したバージョンはAWS SDK for PHP(バージョン3)です。

続きを読む

Oracle エンキューとは

Oracle周りのトラブル時の調査対応ためのメモ。


エンキューとは、共有メモリ以外の共有リソースを排他制御するためのロック・メカニズム
セッション・トランザクションと対応付けられる。
V$LOCKのTYPEで確認することができる。

エンキュー名の一覧
http://otndnld.oracle.co.jp/document/products/oracle10g/102/doc_cd/server.102/B19228-04/enqueues.htm

続きを読む

ALTER TABLEによるセッションのロック

MYSQLトランザクション中のテーブルに対し、ALTER TABLEを実行したらどうなるのか?
試してみたところ、トランザクションを終了するまで、他のセッションをロックしてしまう。

続きを読む

ELB配下のEC2にBasic認証とヘルスチェックを設定する。

ELB配下のEC2とするためヘルスチェックを設定したい。しかしBasic認証をかけておきたい。
という場合の設定。
備忘のためメモしておきます。

続きを読む