LoginSignup
0
4

More than 5 years have passed since last update.

centosでrawデバイスを使用する

Last updated at Posted at 2016-11-28

やりたいこと:rawデバイスを作成し、起動時にrawデバイスとlvolをマッピングさせたい
環境:centos 7

そもそも、cent7.2って、まだrawって使えるの?から入った。
そこで、インストール直後の環境で、
# which raw
-> /usr/bin/raw
と返ってきたので、一安心。

次に、新しいパーティションを作るべく、
# fdisk -l
-> /dev/sdaに、/dev/sda1(/boot)、/dev/sda2(ルートパーティション)があったので、
拡張パーティションを作った。
fdiskのコマンドは忘れていたので、備忘として残す。
# fdisk /dev/sda
n -> 新しいパーティション作成
e -> 拡張パーティション作成
このときはパーティション番号を3にした。これで、/dev/sda3が作成完了。
でも、拡張パーティションはそのままでは使えないので、

# fdisk /dev/sda
n -> 新しいパーティション作成
l -> 論理パーティション作成
パーティション番号は5にした。
w -> 情報の書き込み

一回リブートして、
# fdisk -lで、/dev/sda5がLinuxで見えていたので、成功。

あとは、
# pvcreate /dev/sda5
# vgcreate -s32m vg01 /dev/sda5
# lvcreate -L 1G -n lvol01 vg01
で、lvolを作って準備完了。

# raw /dev/raw/raw1 /dev/vg01/lvol01を実行すると、
/dev/raw/raw1: bound to major 253, minor 4
と出力され、rawデバイスとのマッピング成功。

めでたしめでたし、と思ったのだが、
リブートすると、マッピングが外れてしまう。

どうも、centos6まで存在していたrawdevicesサービスが、
cento7でなくなった模様。

しょうがないので、
active_raw.shを作り、起動時にsystemd経由で呼び出すことにした。
#!/bin/bash
raw /dev/raw/raw1 /dev/vg01/lvol01

/etc/systemd/system/active_raw.service
[Unit]
Description = active_raw daemon

[Service]
Type = simple
RemainAfterExit = yes
ExecStart = /root/active_raw.sh

[Install]
WantedBy = multi-user.target

これでやりたいことができた。
本当にcentos7でrawdevicesがないかは、
これから調査かな。

-------追記-------
/usr/lib/udev/rules.d/60-raw.rulesに以下の内容を追記することで、
上のようなsystemctlに登録しなくても、できることを確認。
ACTION=="add", KERNEL=="dm-4", RUN+="/usr/bin/raw /dev/raw/raw1 %N"
よかった。

0
4
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
4