MySQLに外部サーバ定義を登録する

リンクテーブルを作成するときなど、FEDERATED ストレージエンジンで使用する外部サーバーを定義する際には、CREATE SERVERコマンドを使用する。外部サーバを定義するとmysql.serversテーブルにカラムが追加されるが、SQL文で直接mysql.serversにカラムを追加すると正常に動作しないので注意が必要である。

CREATE SERVER server_name FOREIGN DATA WRAPPER mysql OPTIONS (USER 'hoge', PASSWORD 'hogehoge', HOST '192.168.0.x', DATABASE 'database_name');

以下のように追加するのはよくないぽい。

INSERT INTO `mysql`.`servers` (`Server_name` ,`Host` ,`Db` ,`Username` ,`Password` ,`Port` ,`Socket` ,`Wrapper` ,`Owner`)VALUES ('server_name', '192.168.x.1', 'database_name', 'hoge', 'hogehoge', '0', '', '1', 'mysql', '');

XCodeからiTunes Connectへアップロード時にITMS-90530エラー

XCodeからiTunes Connectへアーカイブファイルをアップロードする際にITMS-90530エラーが発生することがある。
対処法は、iPhoneなどの端末を一切接続しない状態で、もう1度アーカイブファイルを作成する。

CentOS7(1)アレイコントローラの認識

HP Dynamic Smart Array B140i Controller

CentOS7をインストールするサーバに、アレイコントローラが搭載されている場合、アレイコントローラのドライバを指定した上でインストールを実行しないと、論理ドライブが認識されずに物理ドライブがそのまま見えてしまう場合がある。HP ProLiantに搭載されているHP Dynamic Smart Array B140i Controllerを認識させる場合は、デバイスドライバの入ったUSBメモリを作成し、このUSBメモリを使ってCentOSインストールと同時にドライバの組み込みも行う。デバイスドライバは、HPのサポートページからダウンロードすることが可能である。

デバイスドライバ(ドライバディスケット)のダウンロード

HPのサポートページから「.gz」形式のドライバーをダウンロードする。

デバイスドライバのダウンロード

デバイスドライバー(ドライバディスケット)の解凍

解凍すると「.dd」形式のファイルとなる。

デバイスドライバの解凍

USBメモリへの書き込み

FAT形式にフォーマットしたUSBメモリにddコマンドを用いてドライバを書き込む。「.dd」形式のファイルをファインダー上でドラッグアンドドロップするだけでは、正常に読み込むことができない

FAT形式にフォーマット

Macの場合は、ディスクユーティリティを使ってFAT形式にフォーマットする。このとき、名前をUNTITLEDと命名すると、通常は/Volumes/UNTITLEDでマウントされる。また、装置欄に記述されている名称(disk2)がデバイス名称(/dev/disk2)となる。

USBメモリのフォーマット

ddコマンドによる書き込み

USBメモリがマウントされている状態では、ddコマンドを実行することができない。

$ sudo dd if=hpdsa-1.2.8-107.rhel7u0.x86_64.dd of=/dev/disk2
Password:
dd: /dev/disk2: Resource busy

そこで、ddコマンドを実行する前に、USBメモリをアンマウントしておく。

$ sudo umount -fv /Volumes/UNTITLED

改めて、ddコマンドを実行する。

$ sudo dd if=hpdsa-1.2.8-107.rhel7u0.x86_64.dd of=/dev/disk2
2584+0 records in
2584+0 records out
1323008 bytes transferred in 0.654908 secs (2020143 bytes/sec)

CentOSをインストール

CentOSをインストールする際にGRUBエントリーの編集を行い、デバイスドライバーのインストールとAHCIの無効化を行う。

GRUB選択画面

eコマンド”で編集画面に遷移し、”inst.dd modprobe.blacklist=ahci“を追記した上で起動を行う。この時点では、まだUSBメモリを挿入しない

vmlinuz initrd=initrd.img inst.stage2=hd:LABEL=CENTOS\X207\X20\X86_64 quit inst.dd modprobe.blacklist=ahci


すると、どのデバイスからドライバをインストールするかを問うプロンプトが表示されるので、**この時点で初めてUSBメモリを挿入**し、”**rコマンド**“によりデバイス一覧の再スキャンを行う。


DD: starting interactive mode

(Page 1 of 0) Driver disk device selection
    /DEVICE TYPE      LABEL
# to select, 'r'-reflesh, or 'c'-continue:

USBメモリが認識されるので、どのデバイスにある、どのドライバを組み込むのかを対話形式で入力する。

(Page 1 of 1) Driver disk device selection
	/DEVICE	TYPE	LABEL
1)	sda1	vfat	VID	XXXXX
2)	sda2	ext4	OEMDRV	XXXXX
# to select, 'r'-reflesh, or 'c'-continue: 2
DD: Examining /dev/sda2

(Page 1 of 1) Select drivers to install
1)	[]	/media/DD-1/rmps/x86_64/kmod-hpdsa-1.2.8-107.rhel7u2.x86_64.rpm
# to toggle selection, or 'c'-continue: 1

(Page 1 of 1) Select drivers to install
1)	[x]	/media/DD-1/rmps/x86_64/kmod-hpdsa-1.2.8-107.rhel7u2.x86_64.rpm
# to toggle selection, or 'c'-continue: c
DD: Extracting: kmod-hpdsa

これでドライバの組み込みが終了したので、この時点で必ずUSBメモリを抜いておく。USBメモリを挿したままインストール作業を実行すると、USBメモリからOSインストールを行おうとしてエラーが発生する。

HP Smart Array P440 FBWC Controller

SAS HDDのアレイコントローラであるP440は、何もしなくてもCentOSから認識された。違いはなんなんだ。