このブログを検索

2010-08-31

TOSHIBA VARDIA RD-S1004K でUSBキーボードを使う

うちのレコーダーは TOSHIBA VARDIA RD-S1004Kで、
RDの良いところはUSBキーボードが使えることなんです・・・が。
説明書見ても嘘が書いてあるし、そもそもキー配置が載ってない。
Windowsの感覚と違うので使いづらいです。

そこで、正しいリファレンスURLはこちら
[http://www.rd-style.com/function/usb_key.htm]

かなり快適ですね。
リモコンでの操作はストレスがたまります。
たぶん、認識は起動時なので、挿した後再起動が必要です。

EAC + Lame で高品質MP3リッピング

使用ソフト
Lame 3.98.2(or.4)(http://www.rarewares.org/mp3-lame-bundle.php)
EAC 0.95beta4(http://www.exactaudiocopy.de/en/index.php/resources/download/older-versions-for-download/)

エンコードオプション
エンコードに外部プログラムを使用する ON
エンコーダ別パラメータ選択 ユーザー定義エンコーダ
使用する拡張子
.mp3
エンコーダに使用するプログラムのパスを指定 lame.exeを指定
コマンドラインオプション
%l-V5 --vbr-new --athaa-sensitivity 1%l%h--preset insane%h %s %d
高品質 ON

以上の設定で、高品質モードの時は320kBitのコンスタントモードでリッピングされる
低品質モードの時はVBRでリッピングされる
どちらにしてもビットレート指定は無視される

その他オススメ設定

EACオプション
ファイル名の設定
%A\%C\%A-%N.%T

複数のアーティストを含む時の設定を使用する ON
Various Artists\%C\%N.%A-%T
エンコードオプション
ID3タグを追加 ON
ID3V1.0タグの代わりにID3V1.1タグを使用する ON
追加でID3V2タグを書き込むために入れておくスペースを指定 ON 4kb
ID3タグからのファイル名設定
%A-%N.%T
freedb/データベースオプション

Freedbサーバー
http://freedbtest.dyndns.org:80/~cddb/cddb.cgi
※EACは日本語を送信できず受信しかできない



Windowsで apache + openssl + subversion

Windowsでapache + openssl + subversionの設定メモ
全くのど素人なのでほんとにこれでいいのか自信なし
す少なくともこれで公開はできている

*** Apache2.2のインストール

    * 公式http://www.apache.jp/からWindows用インストーラをDL
          o apache_2.2.4-win32-x86-openssl-0.9.8d.msi
    * 適当なフォルダにインストール

*** subversionのインストール

    * 公式http://subversion.tigris.org/のDownloadsからリンクをたどってWindowsのApache2.2.x用パッケージをDL
          o svn-win32-1.4.5.zip
    * 解凍して適当なフォルダにコピー
          o C:\Program Files\Subversion\svn-win32-1.4.5
    * svnのbinフォルダを環境変数のPathへ登録
    * 一応後々使うかもしれないのでmod_*_svn.soを両方apacheのmodulesディレクトリにコピー及びhttpd.confを編集
          o LoadModuleに以下追加
LoadModule authz_svn_module modules/mod_authz_svn.so
LoadModule dav_svn_module modules/mod_dav_svn.so
          o コメントアウトされてれば行頭の#を削除
LoadModule dav_module modules/mod_dav.so
LoadModule dav_fs_module modules/mod_dav_fs.so
    * 適当にリポジトリを保存するディレクトリを作成
          o C:\Program Files\Subversion\repos
    * httpd.confにリポジトリを保存するディレクトリをアドレス指定
<Location /svn/repos>
DAV svn
SVNPath "C:/Program Files/Subversion/repos"
</Location>
    * リポジトリを初期化
          o DOSで下記実行
svnadmin create "C:/Program Files/Subversion/repos"

この時点でhttp://localhost/svn/reposにimportなどできるはず

*** apache + openssl
cd C:\Program Files\Apache Software Foundation\Apache2.2\bin
openssl.exe genrsa -out ../conf/server.key 1024
openssl.exe req -new -key ../conf/server.key -out ../conf/server.csr -config ../conf/openssl.cnf
openssl.exe x509 -in ../conf/server.csr -out ../conf/server.crt -req -signkey ../conf/server.key

#LoadModule ssl_module modules/mod_ssl.so
 ↓
LoadModule ssl_module modules/mod_ssl.so

#Include conf/extra/httpd-ssl.conf
  ↓
Include conf/extra/httpd-ssl.conf

Ubuntu9.10 で NAS on RAID1(6/6)

以下、Ubuntuサーバー構築中に試行錯誤したコマンドの備忘録


mdadm.confが壊れた時
$ sudo sh -c "echo 'DEVICE /dev/sd[a-z]* /dev/sd[a-z]*' > /etc/mdadm/mdadm.conf"
$ sudo sh -c "mdadm --examine --scan >> /etc/mdadm/mdadm.conf"
$ sudo sh -c "echo 'MAILADDR mdadm-admins' >> /etc/mdadm/mdadm.conf"


mdadmで警告が出る時
mdadm: metadata format 00.90 unknown, ignored.
とかいうエラーが発生する場合は
$ sudo nano /etc/mdadm/mdadm.conf

metadata=00.90
という箇所を
metadata=0.90
に変更してみる

/etc/mdadm/mdadm.confにmdadm --detailを追加した時に発生する模様
mdadm --examineならmetadataがないから発生しない



名前解決がたまにできない時
/etc/samba/smb.conf
の[printers]セクションをコメントアウトしてみる
それでもだめなら[print$]セクションも


LiveCDからHDDインストールのLinuxを起動する
Ubuntu Desktop のディスクで起動
インストールせずにUbuntuを試してみるにカーソル合わせる
F6を押し、変なメニューが出たらESC
起動オプションの boot=casper を root=/dev/sda2 にしてEnter


LiveCDから/にアクセスする
$ cd /
$ sudo -s -H
$ mount -t ext4 /dev/sda2 /mnt
$ mount -t proc proc /mnt/proc
$ mount -t sysfs sys /mnt/sys
$ mount -o bind /dev /mnt/dev
$ chroot /mnt /bin/bash


起動時に/etc/fstabのmountエラーが出る
↓のエラーが出る時は
swap:waiting for UUID=7329500f-0d7b-4ae3-9d4c-80277295afbf

$ sudo blkid /dev/sda?
の結果を
/etc/fstabのおかしいUUIDと入れ替える


パーティションテーブルの確認
$ sudo head -c 1b /dev/sda | tail -c 66 | hd


バックアップ/リストア
1.バックアップ
$ tar cvpzf /backup.tgz --exclude=/proc --exclude=/lost+found --exclude=/backup.tgz --exclude=/mnt --exclude=/sys /

2.リストア
$ sudo tar xvpfz backup.tgz -C /
$ mkdir proc
$ mkdir lost+found
$ mkdir mnt
$ mkdir sys


ユーザ関係のコマンド
グループ変更
$ sudo usermod --gid ???? sambauser

今あるグループ一覧
$ group

ログインユーザの情報
$ id

ユーザ一覧は
/etc/passwd


メモリ・swapの確認
$ free


MBRクリア
$ sudo dd if=/dev/zero of=/dev/sda bs=512 count=1


不良セクタチェック
$ sudo badblocks -vs -o bad.txt /dev/デバイス名


apt-get検索
$ sudo apt-get update
$ apt-cache search 検索語


quota確認
ユーザ
$ quota

管理者
$ sudo repquota -avcs


ネットワーク再接続
$ sudo /etc/init.d/networking restart


GRUB2メニューカスタマイズ(20120814追記)
$ sudo vim /etc/default/grub
$ sudo update-grub
このコマンドで/boot/grub/grub.cfgが自動更新される
GRUB_TIMEOUT= 自動選択までの秒
GRUB_HIDDEN_TIMEOUT= メニューを表示するならコメントアウトされるべき


GRUB2再インストール
$ sudo grub-install /dev/sd?
$ sudo grub-update

Ubuntu9.10 で NAS on RAID1(5/6)

RAID故障のシミュレート

sda4が起動中に故障したとする
$ sudo mdadm --manage --fail /dev/md0 /dev/sda4
※ここでメールが飛ぶはず

Stateがdegradedなことを確認
$ sudo mdadm --detail /dev/md0
faulty spare   /dev/sda4
と表示されている

RAIDからデバイス取り除く
$ sudo mdadm --manage --remove /dev/md0 /dev/sda4

再度RAIDにデバイス追加
$ sudo mdadm --manage --add /dev/md0 /dev/sda4
# 同期が始まる

$ cat /proc/mdstat


HDD故障のシミュレート
sdaが壊れた時にsdbのファイルが閲覧できるようにする
但し再同期を考えるとこれではダメだと思う 
そして今回はVMwareを使う
↓↓↓
電源OFFの状態でsdaをはずす
電源ONしても起動しない(sdaに/があったから)

LiveCDを起動し、端末から確認する
$ sudo parted -l
sdbがsdaに名前が変わっている

Live起動なのでmdadmを追加インストール
$ sudo apt-get update
$ sudo apt-get install mdadm

raid情報削除
$ sudo mdadm --misc --zero-superblock /dev/sda4
$ parted /dev/sda set 4 raid on

ファイル確認
$ sudo mount /dev/sda4 /mnt
$ ls /mnt
↑↑↑

再同期させる場合は壊れた時点でHDDを追加→Ubuntuを入れ
そこで--assemble missing /dev/sdb4してから --add /dev/sda4か?





以上でUbuntu9.10でNASonRAID1が終わりですよ
Ubuntuのバージョンがもうちょっとあがって安定してきたら
/のRAID化とかも検討してみたいですね
できている人もいるみたいやけど同じやり方やってもできなかったので・・・
HDDが悪いのかUbuntuが悪いのか、はたまたBIOSが悪いのか。

最後に、今回試行錯誤中に使ったコマンドを備忘録として書いておきます。

続く

Ubuntu9.10 で NAS on RAID1(4/6)

今回の目玉であるRAIDの構成をします
地雷だらけなので気をつけてください

sda4/sdb4をmd0としてRAID化し、/homeにマウントして使用します


RAIDを構成する

1.パーティション構築
※Gpartedを使うとなぜかGRUBが壊れ再起不能になるのでpartedを使う
※10.04ならgdiskが使えるけど9.10にはない?

$ sudo parted /dev/sda
(parted) set 4 raid on
(parted) quit

$ sudo parted /dev/sdb
(parted) set 4 raid on
(parted) quit

mdadmのインストール
$ sudo apt-get install mdadm

mdadmと一緒にpostfixを入れることができる
異常時にメールを出すためにメール設定する
メール設定の一般形式 インターネットサイト
システムメール名 localhost
※システムメール名はよくわからない

2.RAID-ARRAYを構築する(1)
$ sudo mdadm --create /dev/md0 --level=1 --raid-devices=2 /dev/sda4 /dev/sdb4
# 同期が始まるがどうせ中断するので待たずに進む

FSを作成
$ sudo mkfs.ext4 /dev/md0

再起動
$ sudo shutdown -h now
※念のため終了→ボタン起動

3.MBR/PBRリストア
再起動するとなぜかNo Bootable Deviceと出る場合はこの手順

GParted LiveCD等を起動し、端末を起動する


さっき保存したMBR,PBRの場所をマウント
$ mount /dev/sdc1 /mnt
MBR,PBRをリストアする
$ sudo dd if=/mnt/mbr_sda of=/dev/sda
$ sudo dd if=/mnt/mbr_sdb of=/dev/sdb
$ sudo dd if=/mnt/mbr_sda1 of=/dev/sda1 bs=512 count=1
$ sudo dd if=/mnt/mbr_sda2 of=/dev/sda2 bs=512 count=1

再起動
$ sudo shutdown -h now
GParted Live CDを抜く
※念のため終了→ボタン起動

4.RAIDリストア
再起動するとなぜかmd0が壊れるので修復

$ cat /proc/mdstat
md_d0というraidがinactiveになっている

RAID解除
$ sudo mdadm --manage --stop /dev/md/d0
$ sudo mdadm --manage --remove /dev/md/d0

mdadm再インストール(しないと再起動すると復活する)
$ sudo apt-get --purge remove mdadm
$ sudo apt-get install mdadm

RAID再構築
$ sudo mdadm --assemble /dev/md0 /dev/sda4 /dev/sdb4

再起動
$ sudo shutdown -r now

md0がactiveになっていることを確認する
$ cat /proc/mdstat

5.RAID-ARRAYを構築する(2)

起動時にMD開始(?)
$ sudo sh -c "mdadm --examine --scan >> /etc/mdadm/mdadm.conf"

同期するのを待つ
$ watch -n 1 cat /proc/mdstat
※100%になる前に再起動すると0%からやり直し?

RAID詳細はこれで確認できる
$ sudo mdadm --detail /dev/md0

6./homeを新しく作ったRAIDパーティションと入れ替える
homeを退避
$ cd /
$ sudo mkdir /home.org
$ sudo cp -r /home/* /home.org

md0をhomeにマウント
$ sudo mount -t ext4 /dev/md0 /home
$ sudo nano /etc/fstab
最後尾に↓を追記
/dev/md0 /home ext4 defaults 0 0

退避を削除
$ cd
$ pwd
の結果が/home/ユーザー名になっていればOK
問題なければ
$ sudo rm -r /home.org

所有者を戻す
$ cd /home
$ sudo chown ユーザー名:ユーザー名 ユーザー名

マウントを確認する
$ df

7.postfixの設定
ここではgmailを使用する
$ sudo postconf -e relay_transport=smtp
$ sudo postconf -e relayhost=[smtp.gmail.com]:587
$ sudo postconf -e smtp_use_tls=yes
$ sudo postconf -e smtp_sasl_auth_enable=yes
$ sudo postconf -e smtp_sasl_password_maps=hash:/etc/postfix/sasl/sasl_passwd
$ sudo postconf -e smtp_sasl_security_options=noanonymous
$ sudo postconf -e smtp_sasl_mechanism_filter=plain
$ sudo postconf -e smtp_tls_security_level = secure
$ sudo postconf -e smtp_tls_CApath = /etc/postfix/certs

ログイン情報を作成する
$ sudo touch /etc/postfix/sasl/sasl_passwd
$ sudo chmod 600 /etc/postfix/sasl/sasl_passwd
$ sudo nano /etc/postfix/sasl/sasl_passwd
↓の行を記入する
[smtp.gmail.com]:587 raid-report@gmail.com:password
$ sudo postmap /etc/postfix/sasl/sasl_passwd

$ sudo mkdir /etc/postfix/certs
$ sudo chmod 600 /etc/postfix/certs
$ sudo openssl s_client -connect pop.gmail.com:995 -showcerts > /home/ユーザー/gmail.pem
$ sudo cp /home/ユーザー/gmail.pem /home/ユーザー/equifax.pem

$ sudo vim /home/ユーザー/gmail.pem
1つめの
-----BEGIN CERTIFICATE-----
から
-----END CERTIFICATE-----
までを残してあと削除(タグは残す)


$ sudo vim /home/ユーザー/equifax.pem
2つめの
-----BEGIN CERTIFICATE-----
から
-----END CERTIFICATE-----
までを残してあと削除(タグは残す)

$ sudo mv /home/ユーザー/*.pem /etc/postfix/certs
$ sudo chmod 644 *.pem
$ c_rehash /etc/postfix/certs

$ sudo vim /etc/postfix/submit.cred

submitcred version 1
hostname|username|password

$ chmod 600 /etc/postfix/submit.cred

$ sudo /etc/init.d/postfix restart

送信テストを行う
$ sudo apt-get install heirloom-mailx
$ mail あて先
本文は.で終了

$ vim /var/log/mail.log
shift+gで最後尾に移動し
Server certificate not trusted
みたいなエラーが出ている場合はequifax.pemの更新とthawte.pemの追加が必要となる
http://stevejenkins.com/blog/2011/06/fixing-postfix-certificate-verification-failed-for-gmail-untrusted-issuer-error-message/
に書かれているものを使ってpemを/etc/postfix/certsに配置し
$ c_rehash /etc/postfix/certs
としてから再度テストしてみる。

転載

Using your favorite text editor, create a file called Equifax_Secure_CA.pem in the /etc/postfix/ssl directory. Paste the following into the file:

-----BEGIN CERTIFICATE-----
MIIDIDCCAomgAwIBAgIENd70zzANBgkqhkiG9w0BAQUFADBOMQswCQYDVQQGEwJVUzEQMA4GA1UE
ChMHRXF1aWZheDEtMCsGA1UECxMkRXF1aWZheCBTZWN1cmUgQ2VydGlmaWNhdGUgQXV0aG9yaXR5
MB4XDTk4MDgyMjE2NDE1MVoXDTE4MDgyMjE2NDE1MVowTjELMAkGA1UEBhMCVVMxEDAOBgNVBAoT
B0VxdWlmYXgxLTArBgNVBAsTJEVxdWlmYXggU2VjdXJlIENlcnRpZmljYXRlIEF1dGhvcml0eTCB
nzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEAwV2xWGcIYu6gmi0fCG2RFGiYCh7+2gRvE4RiIcPR
fM6fBeC4AfBONOziipUEZKzxa1NfBbPLZ4C/QgKO/t0BCezhABRP/PvwDN1Dulsr4R+AcJkVV5MW
8Q+XarfCaCMczE1ZMKxRHjuvK9buY0V7xdlfUNLjUA86iOe/FP3gx7kCAwEAAaOCAQkwggEFMHAG
A1UdHwRpMGcwZaBjoGGkXzBdMQswCQYDVQQGEwJVUzEQMA4GA1UEChMHRXF1aWZheDEtMCsGA1UE
CxMkRXF1aWZheCBTZWN1cmUgQ2VydGlmaWNhdGUgQXV0aG9yaXR5MQ0wCwYDVQQDEwRDUkwxMBoG
A1UdEAQTMBGBDzIwMTgwODIyMTY0MTUxWjALBgNVHQ8EBAMCAQYwHwYDVR0jBBgwFoAUSOZo+SvS
spXXR9gjIBBPM5iQn9QwHQYDVR0OBBYEFEjmaPkr0rKV10fYIyAQTzOYkJ/UMAwGA1UdEwQFMAMB
Af8wGgYJKoZIhvZ9B0EABA0wCxsFVjMuMGMDAgbAMA0GCSqGSIb3DQEBBQUAA4GBAFjOKer89961
zgK5F7WF0bnj4JXMJTENAKaSbn+2kmOeUJXRmm/kEd5jhW6Y7qj/WsjTVbJmcVfewCHrPSqnI0kB
BIZCe/zuf6IWUrVnZ9NA2zsmWLIodz2uFHdh1voqZiegDfqnc1zqcPGUIWVEX/r87yloqaKHee95
70+sB3c4
-----END CERTIFICATE-----


Next, create a file called Thawte_Premium_Server_CA.pem in the /etc/postfix/ssl directory and paste the following into that file:
-----BEGIN CERTIFICATE-----
MIIDJzCCApCgAwIBAgIBATANBgkqhkiG9w0BAQQFADCBzjELMAkGA1UEBhMCWkExFTATBgNVBAgT
DFdlc3Rlcm4gQ2FwZTESMBAGA1UEBxMJQ2FwZSBUb3duMR0wGwYDVQQKExRUaGF3dGUgQ29uc3Vs
dGluZyBjYzEoMCYGA1UECxMfQ2VydGlmaWNhdGlvbiBTZXJ2aWNlcyBEaXZpc2lvbjEhMB8GA1UE
AxMYVGhhd3RlIFByZW1pdW0gU2VydmVyIENBMSgwJgYJKoZIhvcNAQkBFhlwcmVtaXVtLXNlcnZl
ckB0aGF3dGUuY29tMB4XDTk2MDgwMTAwMDAwMFoXDTIwMTIzMTIzNTk1OVowgc4xCzAJBgNVBAYT
AlpBMRUwEwYDVQQIEwxXZXN0ZXJuIENhcGUxEjAQBgNVBAcTCUNhcGUgVG93bjEdMBsGA1UEChMU
VGhhd3RlIENvbnN1bHRpbmcgY2MxKDAmBgNVBAsTH0NlcnRpZmljYXRpb24gU2VydmljZXMgRGl2
aXNpb24xITAfBgNVBAMTGFRoYXd0ZSBQcmVtaXVtIFNlcnZlciBDQTEoMCYGCSqGSIb3DQEJARYZ
cHJlbWl1bS1zZXJ2ZXJAdGhhd3RlLmNvbTCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA0jY2
aovXwlue2oFBYo847kkEVdbQ7xwblRZH7xhINTpS9CtqBo87L+pW46+GjZ4X9560ZXUCTe/LCaIh
Udib0GfQug2SBhRz1JPLlyoAnFxODLz6FVL88kRu2hFKbgifLy3j+ao6hnO2RlNYyIkFvYMRuHM/
qgeN9EJN50CdHDcCAwEAAaMTMBEwDwYDVR0TAQH/BAUwAwEB/zANBgkqhkiG9w0BAQQFAAOBgQAm
SCwWwlj66BZ0DKqqX1Q/8tfJeGBeXm43YyJ3Nn6yF8Q0ufUIhfzJATj/Tb7yFkJD57taRvvBxhEf
8UqwKEbJw8RCfbz6q1lu1bdRiBHjpIUZa4JMpAwSremkrj/xw0llmozFyD4lt5SZu5IycQfwhl7t
UCemDaYj+bvLpgcUQg==
-----END CERTIFICATE-----



障害発生時のメールアドレス設定
$ sudo nano /etc/aliases
mdadm-admins: メールアドレス
※カンマ区切りで複数指定可
$ sudo postalias /etc/aliases

$ sudo nano /etc/mdadm/mdadm.conf
MAILADDRの値を mdadm-admins にする

mdadm再起動
$ sudo /etc/init.d/mdadm reload

テストメール発信
$ mdadm --monitor --scan --oneshot --test

X.参考
http://d.hatena.ne.jp/adsaria/20100701/1277955172
http://www.gem.mydns.jp/daitei/linux/homeserver/OS/mdadm-addmd.html
http://blog.livedoor.jp/dankogai/archives/51366575.html
http://doronkoit.blog37.fc2.com/blog-entry-23.html
http://bibo-log.blog.so-net.ne.jp/archive/20100418
http://www.itmedia.co.jp/help/tips/linux/l0349.html
http://blogs.yahoo.co.jp/wine100per/38395650.html
http://nabe.blog.abk.nu/0301
http://rdt17.blogspot.com/2010/05/mdadmraid.html
http://www.ioss.jp/sohodiy/mdadm8.html

(20121127追記)
gmailでメール送信ができなくなっていたのでできる方法を探してきて訂正
追加した手順を青表記
参考:
http://www.criterion.sc/sub_notes/Postfix_Security.html
http://archive.aerial.st/archive/2011/12/08/postfix-via-gmail-on-lion/


RAID化した/home以下をsambaで公開します
今回はsamba用ユーザを作成し、そのユーザのユーザディレクトリを公開するようにします

sambaの設定
1.samba用ユーザーの作成
$ sudo groupadd sambausers
$ sudo adduser --ingroup sambausers sambauser
パスワードをタイプ
Full Name : sambauser
あとはenterでスキップ

$ sudo smbpasswd -a sambauser
パスワードをタイプ
※ubuntuユーザと同時にパスワード作成されるらしい

2.共有ディレクトリを作成する
$ sudo nano /etc/samba/smb.conf
最後尾に↓を追記、[ ]内が共有名になる
[share]
comment = share contents
path = /home/sambauser
writable = yes
printable = no
create mask = 0640
directory mask = 0750

※このmaskで、guest不可、同じグループの人はread only になるはず

(20110909追記)
下記を変更
wins support = no ->yes に変更
load printers が no もしくはコメントアウトされていることを確認
map to guest = bad user ->Never に変更

下記を[global]に追加
netbios name = XXXX windows機からのホスト名(?)
hosts allow = XXX.XXX.XXX.XXX アクセスを許可するIP

"hosts allow"でワイルドカードを使うような書き方も可能
127.*.*.*なら、 127. と書く。
192.168.*.*なら、 192.168. と書く。
スペース区切りで複数のIPを書くことも可能

(20111017追記)
wins support=yesと一緒に
domain master = yes
local master = yesも指定した方がいい・・・?

dos charset = CP932
unix charset = UTF8
display charset = UTF8
を指定したほうがよい?


(20120806追記)設定を検証
$ testparm

3.サービス再起動
$ sudo /etc/init.d/samba restart

4.確認
Windowsマシンから\\ubuntuホスト名\にアクセス
shareフォルダが見えていたらOK
shareフォルダにsambauserでログインして
ファイル操作ができることを確認する

X.参考
http://hooktail.org/computer/index.php?Samba


quota設定
1.quotaをインストール
$ sudo apt-get install quota
$ sudo nano /etc/fstab
/dev/md0のdefaultsをdefaults,usrquota に変更
$ sudo mount -o remount /dev/md0
$ sudo quotacheck /dev/md0
$ ls /home
/homeにaquota.userが作成されていることを確認
$ sudo quotaon /dev/md0

2.quotaの設定
$ sudo edquota -u sambauser
ここでは1つめのsoftに900000
1つめのhardに1000000と入れる
※単位はKB

3.quotacheckをcronで実行
$ sudo nano /etc/cron.daily/quotacheck.cron
↓を記述
#!/bin/sh
quotaoff /dev/md0
if [ $? -eq 0 ]; then
    quotacheck -augm
    if [ $? -eq 0 ]; then
            quotaon /dev/md0
    fi
fi
手動実行してエラーが出ないことを確認する
$ sudo sh /etc/cron.daily/quotacheck.cron

X.参考
http://itmst.blog71.fc2.com/blog-entry-62.html
http://www.samba.gr.jp/doc/quota.html
http://satospo.sakura.ne.jp/blog_archives/tech/centos/quota.html


共有フォルダにアクセスする
1.Windows
普通に\\ホスト名\共有名
にアクセスして、sambauserでログインする

2.MAC
移動メニューから[サーバへ接続]を選択
アドレスに
smb://サーバ名/共有名
と入力
sambauserでログインする

X.参考
http://www.atmarkit.co.jp/flinux/rensai/linuxtips/334sharemacx.html


速度測定
1.ubuntu側
$ dd if=/dev/zero of=/home/sambauser/zero bs=128k count=3276
121MB/sだった
※AdvancedFormat対策をしない場合50MB/sくらいらしい

2.windows側
CrystalDiskMarkで計測
ネットワークドライブに割り当ててから行う
可能なら1000MBで行った方が正確
10MB/sくらいだった
※どうにかしたい・・・

→後日談追記


念のためsdbに/をコピーしておく
$ sudo mkfs.ext4 /dev/sdb2

$ sudo telinit 1 以降、本体操作

リカバリメニューでDrop rootを選択

NAS領域を解除
$ umount /home


/mntにコピー先をマウントしてからコピー
$ mount /dev/sdb2 /mnt
$ cp -axv / /mnt


アンマウントして再起動
$ umount /mnt
$ shutdown -r 0


こんな感じで、NASの構築完了!
初心者に地雷はきつかったです・・・
あとは障害発生時のシミュレートを行いたいと思います

続く


--- 追記(2011/8/14) --- 以前NASへのアクセス速度を計測した際は10MB/sちょいでしたが改善しました。
なんと、ギガビットイーサにもかかわらずLANケーブルのカテゴリがまさかの5でした・・・。
余っていた5eと差し替えたところRead23MB/s Write26MB/sくらいにまで改善やっほーい。
ちなみにローカルHDDだとシーケンシャルなReadWriteが92/87です。

ubuntuのリンク速度表示コマンド
$ sudo ethtool eth0
※ない場合はインストール
$ sudo apt-get install ethtool

2010-08-29

Ubuntu9.10 で NAS on RAID1(3/6)

とりあえず、今回登場するデバイス名を最初に書いておきます。
HDD1 sda 2TB
→biosgrub用 sda1 1MB
→/用     sda2 20GB
→swap用   sda3  6GB
→home(raid)用 :sda4 残り

HDD2 sdb 2TB
→未使用 sdb1 1MB
→/コピー用 sdb2 20GB
→未使用   sdb3    6GB
→home(raid)用 sdb4 残り

RAID(sda4+sdb4) md0 約2TB

USBメモリ sdc
→sdc1



では、インストール作業の説明に入ります。

Advanced format対策

Advanced Formatは新しいHDDの規格で、最近のOSだと問題ないらしいけど、例えばXPだと専用ツール使わないとパフォーマンスが落ちるそうです。Ubuntuも10.04から正式対応したみたいやけど、バグだらけなので今回はGPartedでパーティション分けしてからUbuntuインストールします。
やりたいことは、パーティション開始位置を8で割れる位置にする。です。
なお、既に使ったことのあるHDDなら、最初に全領域をなんらかのFileSystemでフォーマットしてから作業することをオススメします。

GPartedのGUIから・・・
1./dev/sdaを開く
>パーティションテーブルの初期化
パーティションテーブル作成にて詳細を開いてGPTを選択 

>biosgrubパーティションを作成する
先頭に1MiBの未フォーマットで作成する
biosgrubフラグを立てる
informationから開始位置が2048であることを確認する

>root用パーティションを作成する
biosgrubパーティションに続けてext4で作成する
informationから開始位置が4096であることを確認する

>swap用パーティションを作成する
rootパーティションに続けてlinux-swapとして作成
informationから開始位置が8の倍数であることを確認する
今回6GB(6144MiB)で作成

>home用パーティションを作成する
swap用パーティションに続けて未フォーマットとして作成
残りサイズを全部割り当てる
informationから開始位置が8の倍数であることを確認する

2./dev/sdbを開く

>パーティションテーブル初期化
パーティションテーブル作成にて詳細を開いてGPTを選択 
>biosgrubパーティションを作成する
先頭に1MiBの未フォーマットで作成する
informationから開始位置が2048であることを確認する

>root用パーティションを作成する
biosgrubパーティションの未フォーマットで作成する
informationから開始位置が4096であることを確認する

>swap用パーティションを作成する
rootパーティションの未フォーマットで作成する
informationから開始位置が8の倍数であることを確認する
今回6GB(6144MiB)で作成

>home用パーティションを作成する
swap用パーティションに続けて未フォーマットで作成
残りサイズを全部割り当てる
informationから開始位置が8の倍数であることを確認する

ちなみに(TotalSectors/2048)が1MiBになります

X.参考
https://wiki.ubuntulinux.jp/UbuntuTips/Others/RepairMbrWithGrub
http://community.wdc.com/t5/Desktop/Problem-with-WD-Advanced-Format-drive-in-LINUX-WD15EARS/m-p/10920#M631
http://www.ibm.com/developerworks/jp/linux/library/l-4kb-sector-disks/?ca=drs-jp



これでインストールの準備ができました

Ubuntu serverインストール
1.Ubuntuサーバーをインストールを選択
2.キーボードを選ぶ(無かったのでDellにした)
その後、Japan → Japan-Kana → Alt+Shift と選択
3.パーティショニングは手動を選択する
4.sda(root用2TB)
biosgrub用パーティション
biosgrubになっていることを確認

root用パーティション
ext4で初期化、マウントポイント"/"

swap用パーティション
linux-swapになっていることを確認

home用パーティション
未使用

5.sdb(raid用2TB)
何もしない
未使用(?)になっていることを確認

6.ホームディレクトリ暗号化 いいえ
7.自動的にアップデートしない
8.インストールするソフトウェアの選択
LAMP server/OpenSSH server/Samba file server
を選択
9.GURBブートローダのインストール はい
8.指示に従い再起動
X.参考
http://www.ibm.com/developerworks/jp/linux/library/l-grub2/?ca=drs-jp

続いて最低限のセットアップをとりあえず

Ubuntuのセットアップ
1.インストール時に作成したアカウントでログイン
2.文字化け対処
設定を開く
$ nano ~/.bashrc
#文字化けは気にしない

ファイルの末尾に、以下を記述


case $TERM in
    linux) LANG=C ;;
    *) LANG=ja_JP.UTF-8 ;;
esac
ctrl+o → enter → ctrl+x で閉じる

反映
$ source ~/.bashrc

再度
$ nano ~/.bashrc
とすると文字化けしないことが確認できる

3.ubuntuマシンのIPを調べる
$ ifconfig
inet addr:の部分を念の為控える

4.apt-getのリスト更新
$ sudo apt-get update

5.ブートメニュー出すようにする
$ sudo cp /etc/default/grub /etc/default/grub.org
$ sudo nano /etc/default/grub
↓の2つを#でコメントアウト
GRUB_HIDDEN_TIMEOUT
GRUB_HIDDEN_TIMEOUT_QUIET

6.バックアップ用devのマウント

ここではUSBメモリを使う

dev確認
$ sudo parted -l

USBメモリマウント
$ mount /dev/sdc1 /mnt

7.MBRのバックアップ

sdaのMBRをmbr_sdaに
$ cd
$ sudo dd if=/dev/sda bs=512 count=63 > mbr_sda

念のためsdbも
$ sudo dd if=/dev/sdb bs=512 count=63 > mbr_sdb

USBメモリにコピー
$ sudo mv mbr_sda /mnt
$ sudo mv mbr_sdb /mnt

なぜかエラー出るけどコピーはできているみたい
$ diff mbr_sda /mnt/mbr_sda

rootのPBRをバックアップ
$ sudo dd if=/dev/sda2 bs=512 count=63 > pbr_sda2

念のため関係しそうなbiosgrub領域も
$ sudo dd if=/dev/sda1 bs=512 count=63 > pbr_sda1

USBメモリにコピー
$ sudo mv pbr_sda2 /mnt
$ sudo mv pbr_sda1 /mnt

8.rootのバックアップ
$ cd /
$ sudo tar cvpzf /backup.tgz --exclude=/proc --exclude=/lost+found --exclude=/backup.tgz --exclude=/mnt --exclude=/sys /
$ sudo mv /backup.tgz /mnt

9.バックアップ用devのアンマウント
$ umount /mnt

10.ログアウト
$ exit

X.参考
http://thinkit.co.jp/cert/article/0707/11/2/4.htm
https://wiki.ubuntulinux.jp/UbuntuTips/Install/BackupMBR
https://wiki.ubuntulinux.jp/UbuntuTips/Others/BackUpAndRestore

続いてクライアントマシン(Windows)にsshクライアントをインストールする
あとは基本的にそちらから操作した方が効率が良い

Pederosaをインストール
1.FWでポート22が使えるようにする
2.インストーラを起動して従う
3.実行する

#操作中にエラーが出る場合は管理者ユーザで実行する
4.ファイル→新規Telnet/SSH接続
ホスト:ubuntuのホスト名 or ip
アカウント:ubuntuのユーザ
パスフレーズ:ユーザパスワード
※たまにホスト名が通らない時があるが再起動したら使えたりする謎

基本インストールの最後に時計あわせ

Ubuntuのセットアップ2
ntpインストール
$ sudo apt-get install ntp

ntp設定
$ sudo nano /etc/ntp.conf
server ntp.ubuntu.com
と書かれている行を下記のように変更する。(同じ行を3つ)
server ntp.nict.jp
server ntp.nict.jp
server ntp.nict.jp
ntp再起動
$ sudo /etc/init.d/ntp restart

動作確認
$ sudo ntpq -p
#以後、NTPサーバーとしても使える

とりあえず最新にあわせる
$ sudo /etc/init.d/ntp stop
$ sudo ntpdate -u ntp.nict.jp
$ sudo /etc/init.d/ntp start

※手動で日時変更する場合は
$ date 1129225808
これで2008/11/29 22:58:00になる

ハードウェアの時計に反映させる
$ sudo hwclock -w

X.参考
http://www.k5.dion.ne.jp/~r-f/sicklylife/memo/ubuntu910/first_setting.html
http://kaede.blog.abk.nu/date-setting
http://www.tatsuyoshi.net/toyota/tech/200608.html


基本的なインストールは以上
次は意味不明なRAID構築です

続く

(20110918追記)
ntpdateによるUbuntu時計だけじゃなくて
hwclockによるハードウェア時計の反映もやった方がいいらしいので追加した

(20111015追記)
WDのHDDについての記述を見つけた。今度余裕があったらやってみよう。
http://blog.lwlv.net/archives/tag/aft

Ubuntu9.10 で NAS on RAID1(2/6)

ではまず、今回のハード構成で起こり得る事象と対策について書いておきます。
・10.04の場合、インストール完了後にno bootable deviceエラーが出て起動できません。理由は不明ですが、LiveCDにてroot=/dev/sda?で起動は可能でした。なお、grub2の再インストールをしても復活しませんでした。
対策:9.10を使う(その後10.04にアップデートはOKとの噂)
確認:10.04(64),10.04(32)

・インストール中、RAIDやLVMを使用すると最後のGRUBインストールでエラーが出ます。再起動するとno bootable deviceな上に、root=/dev/sda?でも起動できませんでした。ネット上でも少なくとも日本では未解決問題みたいです。なお、grub2の再インストールをしても復活しませんでした。
対策:全体のRAID化は諦め、データ領域だけ手動でRAID化する
確認:10.04(64),9.10(64)

・内臓CDドライブでインストール中、「Media Change」と出て止まります。止まらない時も稀にありましたが、、、。ネット上だと、「低速で焼く」「USB-CDドライブを使う」なんかが何故か解決する方法らしいです。
対策:USB-CDドライブを使う
確認:10.04.1(64),10.04.1(32),10.04(64),9.10(64)

・9.10で普通にインストールするとAdvancedFormatによりパフォーマンスががた落ちするそうです。確かにインストール時間がだいぶ変わる。
ポイントは、各パーティション開始位置を8で割り切れるセクタにするということ。
対策:インストール前に手動でパーティションわけする
ちなみに10.04は対応しているのでインストーラが適切に分けてくれます

・インストール後にGPartedで何かするとGRUBが起動しなくなる
対策:インストール後は使わない

・RAID化すると何故かMBRが壊れます。再起動するとno bootable device・・・ネット上の情報も見つけられず、意味がわかりません・・・。なお、grub2再インストールしても復活しません。
対策:事前にMBRのバックアップをとり、RAID後にリストアする
確認:9.10(64)

・RAID後、再起動するとRAIDが壊れ、デバイス名が変わります(名前はもしかしたら仕様かもだが海外でも困ってる人いた)。作り直しても再起動すると復活・・・。
対策:mdadmを再インストールしてからRAID-ARRAYを作成しなおす
確認:9.10(64)

・/パーティションをRAID化するとGRUBが見つけられない
対策:/パーティションは今回あきらめる

大きなところはこんなところでしょうか。。。Linux初級者には何がなんだかわからず、再インストールの嵐に心が折れそうでした。体調は折れました・・。実機ではno bootable deviceになるけーすでも、VMwareだと大丈夫だったりするので、大半はハード依存の問題かと思われます。
次は100時間以上かけて編み出したこれらの回避策を書いていきます。

続く

Ubuntu9.10 で NAS on RAID1(1/6)

UbuntuでNAS組んでみましたよ。
Linuxは初級者で仕事柄覚えておきたかったのですが、
既製品も殆ど同じ額で買えるのが悲しいところですw

構成
OS:Ubuntu 9.10 Server 64bit
MB:Intel Essential mini-ITX BOXD510MO(\7,907)
HDD1:Western Digital WD20EARSR(\8,980)
HDD2:Western Digital WD20EARSR(\8,980)
MEM:FIRESTIX FSX800D2B/2G(\3,580)
CASE:Centurion 531(流用)
POW:Scythe KMRK-450(2)(流用)
FUN:Scythe SY8025SL12VBL(流用)


はい、奥のがそうです。
せっかくのmini-ITXですが、流用したケースが現メインマシンよりでかいっていう・・・w
GRUB2がキーボード必須らしく?とりあえずのっけています。
GRUB1ならキーボード不要らしいのでそのうち検討しよう。

久しく自作部品買ってませんでしたが
MBもHDDも安くなりましたねぇ、メモリも破格でした。
が、このWDのHDDがくせものでした・・・。
AdvancedFormatという規格なのですが、
Ubuntu/D510MO/WD20EARSRの相性が最悪です。
これからこの辺のパーツで組もうとしている人は
はっきりやめたほうが良いです。地雷過ぎ。
本当ならセットアップに10-20時間を予定していたのに、
再インストール数十回の計100時間は軽くオーバーしましたよ・・・。
(2012/1/21追記)
その後、このWD-HDDにはデフォルトだと寿命的な問題があることがわかり、その対応策について記事を書きました。
Western Digital WD20EARSRのInteliPart問題対応

今回のNASの内容は
・二つのHDDを全く同じ区画分けし
・NAS領域をUbuntuのソフトウェアRAID-level1
・bootとswapはHDD1のみ
・/はファイルコピー(一応)
・ファイル共有にはsamba
・quotaでユーザ毎の制限を設ける
・障害発生時はメール通知
といった感じ。

本当は全体をRAID1にし、LVMで全てを二重化したかったのですが、
Ubuntuのバグかなにかでインストールできないわ起動もできないわっていう状態になったので諦めました。

障害発生時については、HDD2が死んだ時は追加HDDに再びNAS領域を作って再同期、HDD1が死んだ時は可能ならHDD2にコピーした/データからちょっとした修正で復帰させて追加HDDにUbuntuをインストールして再同期。そんな風に考えています。



それでは準備物。
・USB-CDドライブ Logitec LDV-P8U2LRD(\4,072)
最初、PCIで使える内臓CDドライブ使っていましたが、インストールが進まないバグ(?)がありまして、しょうがなく購入。
ちなみに、内臓だとインストール中に「Media Change」と出て進まなくなりました。USBメモリインストーラでも良いかもしれませんが、それはそれで別の理由でうまくいかないことが多かった気がします。

・Ubuntu 9.10 Server 64bit
・Ubuntu 9.10 Desktop 64bit
http://ubuntutym2.u-toyama.ac.jp/ubuntu/9.10/
HDDも大容量なので一応64bitを選択
Desktop版はLiveCDとして使用します

・GParted 今回は0.6.2-2
http://gparted.sourceforge.net/
AdvancedFormat対策にパーティション開始位置を8で割り切れる位置にするために使用。他にもちょっとした作業にも使える。

・CrystalDiskMark 2.2.0
http://crystalmark.info/software/CrystalDiskMark/
WindowsからNASへの転送速度計測に使用
3.X系はネットワークドライブに使えないので2.Xを使う

・D510MO bios (MO0311P)
http://downloadcenter.intel.com/SearchResult.aspx?lang=jpn&ProductFamily=%E3%83%87%E3%82%B9%E3%82%AF%E3%83%88%E3%83%83%E3%83%97%E3%83%BB%E3%83%9C%E3%83%BC%E3%83%89&ProductLine=%E3%82%A4%E3%83%B3%E3%83%86%E3%83%AB%C2%AE+NM10+%E3%83%81%E3%83%83%E3%83%97%E3%82%BB%E3%83%83%E3%83%88%E3%83%BB%E3%83%95%E3%82%A1%E3%83%9F%E3%83%AA%E3%83%BC%E3%83%BB%E3%83%9C%E3%83%BC%E3%83%89&ProductProduct=%E3%82%A4%E3%83%B3%E3%83%86%E3%83%AB%C2%AE+%E3%83%87%E3%82%B9%E3%82%AF%E3%83%88%E3%83%83%E3%83%97%E3%83%BB%E3%83%9C%E3%83%BC%E3%83%89+D510MO
アップグレードしないとUbuntu9.10が動かないらしいので最新にあげておく

・Poderosa 4.10 Japanese
http://ja.poderosa.org/
sshクライアント
こぴぺしたりに便利

続く