MIRACLE

メールサービス申込 ユーザー登録&ログイン パートナー情報
お問い合わせ FAQ サイトマップ
MIRACLE LINUXの特長 製品紹介 サービス案内 購入 サポート 技術フォーラム

テクノロジー情報


Linux技術トレーニング 基本管理コース II

第2章 ディスク管理〜上級

  1. RAWデバイス
  2. ソフトウェアRAID
  3. LVM(Logical Volume Manager)
    3-1.LVM(Logical Volume Manager)
     (1)LVMについて
     (2)物理ボリュームの作成
     (3)ボリュームグループの作成
     (4)論理ボリュームの作成・利用
     (5)スナップショット
     (6)LVMディスクの追加
     (7)LVMディスクの交換
     (8)LVMディスクの開放

3. LVM(Logical Volume Manager)
3-1. LVM(Logical Volume Manager)について
(1)LVMについて
  • 論理ボリュームにより、物理的なディスクの存在を隠蔽
  • ディスクデバイス管理の柔軟性が高まる
    • 物理的なディスクの増設や変更などがアプリケーションに対して隠蔽される

LVMの概要

LVM(Logicl Volume Manager)は、ユーザーが扱うパーティションとして、論理ボリュームと呼ばれる単位でパーティションを提供して物理的なディスクの存在を隠蔽します。その結果、物理的なディスクの増設や変更などがユーザーやアプリケーションに対して隠蔽されてディスクデバイスの管理の柔軟性を向上させます。

LVMの構成例
LVMstructure

LVMの構成要素

LVM(Logical Volume Manager)では、以下の要素から構成されます。

  • 物理ボリューム(physical volume)
  • ボリューム(volume group)
  • 論理ボリューム(logical volume)

次から、それぞれについて説明していきます。


(2)物理ボリュームの作成
  • 物理ボリュームはパーティション単位
    • ディスク単位でないことに注意
  • 物理ボリュームの作成は以下の手順となる
    • 該当パーティションのIDを0x8Eにする
    • /usr/sbin/pcvreteでパーティションを物理ボリュームとして初期化

物理ボリュームの作成

物理ボリュームはパーティション単位で管理されます。したがって、1つのディスクを1パーティションとし1つの物理ボリュームとしても構わないし一部分だけをLVM用のパーティションとして確保して、1つの物理ボリュームとしても構いません。もちろん、1つのディスクを複数のパーティションに分割して、複数の物理ボリュームを作成することもできます。

次に物理ボリュームの作成方法を説明します。

LVM用のパーティションとするためには、最初に/sbin/fdiskを使用して、作成したパーティションのIDを0x8Eに設定します。

# /sbin/fdisk /dev/sdc
コマンド (m でヘルプ): p
Disk    /dev/sdc: 1073 MB, 1073741824 bytes
64 heads, 32 sectors/track, 1024 cylinders
Units = シリンダ数 of 2048 * 512 = 1048576 bytes
デバイス    ブート 始点   終点     ブロック     ID     システム
/dev/sdc1            1     96        98288      83      Linux
コマンド (m でヘルプ): t
Selected  partition  1
16進コード(Lコマンドでコードリス表示):8e
領域のシステムタイプを 1  から  8e (Linux LVM)  に変更しました

コマンド (m でヘルプ): p
Disk    /dev/sdc: 1073 MB, 1073741824 bytes
64 heads, 32 sectors/track, 1024 cylinders
Units = シリンダ数 of 2048 * 512 = 1048576 bytes
デバイス    ブート 始点   終点     ブロック     ID     システム
/dev/sdc1           1      96        98288      8e     Linux LVM

続いて、/usr/sbin/pvcreateでパーティションを物理ボリュームとして初期化します。

# /usr/sbin/pvcreate  /dev/sdc1
Physical volume “/dev/sdc1”  successfully  created

LVMの領域として利用するすべての物理ボリュームに対して、初期化を行います。初期化が完了した物理ボリュームは、/sbin/pvscanで確認できます。

# /sbin/pvscan
 PV  /dev/sdb1                lvm2  [95.76 MB]
 PV  /dev/sdc1                lvm2  [95.79 MB]
 Toral:  2  [191.55 MB]/in use:0[0  ]/ in  no  VG: 2 [191.55  MB]

(3)ボリュームグループの作成
  • ボリュームグループ
    • いくつかの物理ボリュームを一まとめにしたもの
    • 仮想的なディスクに相当する
  • ボリュームグループは/usr/sbin/vgcreteコマンドで作成

ボリュームグループの作成

すべての物理ボリュームの準備ができたら次にそれらの物理ボリュームをもとにボリュームグループを作成します。ボリュームグループは仮想的なディスクに相当すると考えることができます。ボリュームグループの作成は/usr/sbin/vgcreateで行います。

# /usr/sbin/vgcreate   Volume00  /dev/sdb1  /dev/sdc1
Volume  group  “Volume00”  successfully  created

「Volume00」はボリュームグループ名を表します。「 /dev/sdb1 /dev/sdc1 」は物理ボリュームです。これより以前に、/usr/sbin/pvcreateコマンドで物理ボリュームとして初期化されたパーティションです。

作成したボリュームグループの情報は/sbin/vgscanで確認できます。

# /sbin/vgscan
Reading  all physical  volumes.  This may   take a  whiel…
Found  volume  group  “Volume00”  using  metadata  type  lvm2

  • ボリュームグループはPE(Physical Extent)の集まりとして管理される。
    • 1つのボリュームグループは64K個までのPEを持てる
    • PEのサイズのデフォルト値は4MB
    • PEのサイズは/usr/sbin/vgcreateコマンドの-sオプションで指定できる
    • -sオプションでサイズの大きなボリュームグループが作成できる

PE(Physical Extent)

ボリュームグループはPEという単位の集まりとして管理されます。PEの大きさはデフォルトでは4MBです。また1つのボリュームグループは最大64K個までのPEをもてます。したがってデフォルトでは1つのボリュームグループの大きさは最大で256GBになります。もしこのサイズを超えるボリュームグループを作成する場合は、vgcreateコマンドの -s オプションでPEのサイズを大きなものに設定することで可能です。
例えば、PEのサイズを32MBとして指定した場合、最大2TBのボリュームグループを作成できることになります。(2TB = 32MB * 64K個)  (注)

(注)
実際にはカーネルの実装の問題で1つのブロックデバイスの最大サイズは約1TBに制限されます。


(4)論理ボリュームの作成
  • 論理ボリューム
    • ボリュームグループを仮想的なディスクとするならば論理ボリュームは仮想的なパーティション(デバイス)と考えることができる
    • /usr/sbin/lvcreateコマンドで作成する

論理ボリュームの作成

ボリュームグループを作成したら、次に論理ボリュームを作成します。論理ボリュームはパーティションに相当するもので、ボリュームグループ全体を1つの論理グループにすることもできるし、複数の論理ボリュームに分割して利用することもできます。

論理ボリュームの作成は、/usr/sbin/lvcreateで行います。論理ボリュームのサイズ(MB単位)、論理ボリューム名、論理ボリュームを作成するボリュームグループ名を指定します。

# /usr/sbin/lvcreate  -L  50M  -n   LogVol01  Volume00
Rounding up size to full  physical extent  52.00 MB
Logical  Volume  “LogVol01”  created

ここで、「 -L  50M 」は作成する論理ボリュームの大きさの指定です。上の例ではPEの関係で52MBに丸められてます。「 -n  LogVol01 」は作成する論理ボリュームの名前の指定します。「 Volume00 」は論理ボリュームを作成するボリュームグループ名です。

論理ボリュームの確認

作成した論理ボリュームの情報は/usr/sbin/lvdisplayで確認できます。

# /usr/sbin/lvdisplay /dev/Volume00/LogVol01
--- Logical volume ---
LV Name             /dev/Volume00/LogVol01
VG Name             Volume00
LV UUID             wchfwk-6V2n-wrKb-v8D7-LVdS-JXPB-01uzRb
LV Write Access     read/write
LV Status           available
# open              0
LV Size             52.00 MB
Current LE          13
Segments            1
Allocation          inherit
Read ahead          sectors 0
Block device        253:0
論理ボリュームの名前(LV Name)が指定した”LogVol01”ではなく、/dev/ボリュームグループ名/論理ボリューム名の形式になっていることに注意してください。これは/usr/sbin/lvcreateで論理ボリュームを作成したときに自動的にこの名前のデバイスファイル名が作成されたということです。

  • 論理ボリュームの利用
    • /dev/ボリュームグループ名/論理ボリューム名のデバイスファイルが自動的に作成されている
    • 通常のデバイスとして利用できる

論理ボリュームの利用

作成した論理ボリュームを利用するためには、lvcreate時に表示しされた論理ボリューム用のデバイスファイルを利用します。通常は/dev/ボリュームグループ名/論理ボリューム名にデバイスファイルが作成されます。 通常のファイルシステムとして利用する場には、ファイルシステムを作成してからマウントします。次の例は論理ボリューム /dev/Volume00/LogVol01 を XFSファイルシステムとして/xfsにマウントして利用する例です。

# /sbin/mkfs -t xfs /dev/Volume00/LogVol01
# /bin/mount -t xfs /dev/Volume00/LogVol01

RAWデバイスとして利用する場合には、RAWデバイスへのバインドを行ってから、/dev/raw/raw[n]のデバイスファイル経由で利用してください。

# /usr/bin/raw  /dev/raw/raw1     /dev/Volume00/LogVol01
/dev/raw/raw1:     bound  to  major  253,  minor  0

システム起動時に自動的にマウントするには/etc/fstabに設定をしてください。次の設定はXFSファイルシステムとして作成された論理ボリューム/dev/Volume00/LogVol01 を/xfsディレクトリにマウントするものです。

/dev/Volume00/LogVol01  /xfs   xfs      defaults     0    0

(5)スナップショット
  • スナップショット
    • 論理ボリュームのある時点のデータのコピー
    • ただし実体は元データへのリンクなのでデータ量は少ない
    • 元データが更新された場合のみ更新前のデータをスナップショット領域に保存する
    • ファイルシステムのバックアップの用途によく合う

スナップショット

LVMにはスナップショットと呼ばれる機能が備えられています。これは、論理ボリュームのデータをスナップショットとして取得した時点で、読み取り専用の別の論理ボリュームとしてコピーしておく機能です。スナップショットは論理ボリューム上のすべてのデータのコピーを行うのではなく、元データへのリンク情報のみを作成するため、非常に高速に動作します。スナップショットの取得後に、元データが更新された場合、更新される前のデータをスナップショット領域に保存します。そのため、通常は元データの領域よりも少ない領域(一般的には10%〜20%程度)があればスナップショットとして利用できます。

さらに、スナップショットに対しては読み込みしかできないため、データが更新されるといった危険がありません。このため、ファイルシステムのバックアップを取得する際に、まずスナップショットを取得して、バックアップ操作はスナップショットに対して行うことで、バックアップ実行中のデータ更新も発生しなくなるため、バックアップデータの一貫性が保たれます。このようにスナップショット機能はファイルシステムのバックアップを取得する目的に非常に合致します。


  • スナップショットの取得と削除
    • 取得する場合は/usr/sbin/lvcreteに-snapshotオプションを使う
    • 削除する場合は、/usr/sbin/lvremoveを使う
      (通常の論理ボリュームと同じ)
    • XFSファイルシステムのスナップショットにはいくつか注意点がある

スナップショットの取得

スナップショットの取得は、/usr/sbin/lvcreateに-snapshotオプションを指定して行います。スナップショットにアクセスするためのデバイスファイル名を-nオプションで指定します。また、スナップショット領域として利用するサイズを-Lオプションで指定します。

# /usr/sbin/lvcreate -snapshot -L 50M -n snap1 /dev/Volume00/LogVol01
Rounding up size to full physical extent 52.00 MB
Logical volume "snap1" created

スナップショットのデバイスファイル名は snap1としてしてますが、実際には論理ボリュームと同様に、/dev/ボリュームグループ名/スナップショット名となることに注意してください。

スナップショットの削除

取得したスナップショットを削除するには通常の論理ボリュームと同様に/usr/sbin/lvremoveで削除します。

# /usr/sbin/lvremove   /dev/Volume00/snap1
Do you really want to remove active logical volume "snap1"? [y/n]: y
Logical volume "snap1" successfully removed

  • XFSファイルシステムのスナップショットの注意点
    • 取得時にファイルシステムへの更新を停止(推奨)
    • スナップショットマウント時に nouuidオプションが必要

XFSファイルシステム更新の停止(推奨)

MIRALCE LINUX V3.0の場合

XFSファイルシステムのスナップショットを取る前に、/usr/sbin/xfs_freezeで一時的にファイルシステムへの更新を停止することが推奨されます。/usr/sbin/xfs_freezeに-fオプションを指定することで、XFSファイルシステムへの新たな更新を禁止します。スナップショット取得後には、/usr/sbin/xfs_freezeに-uオプションを指定して、XFSファイルシステムの更新を許可します。

# /usr/sbin/xfs_freeze -f /xfs
# /usr/sbin/lvcreate --snapshot -L 50M --name snap2 /dev/Volume00/LogVol01
# /usr/sbin/xfs_freeze -u /xfs

MIRALCE LINUX V4.0の場合

snapshot取得の際、xfs_freezeによるファイルシステムの更新の停止は必要ありません。行った場合、snapshotの取得が正常に行えませんのでご注意下さい。

マウント時にnouuidオプションを指定

取得したスナップショットをマウントする場合には、mount(8)のオプションにnouuidを指定してください。これは、XFSファイルシステムに設定されているUUID(Universally Unique Identifier)が重複するためにマウントが許可されない問題を回避するために、UUIDの重複を許可するためのオプションです。

# mount -o nouuid  /dev/Volume00/snap1 /mnt/snap/

  • ディスクの追加
    • LVMの利点が特に発揮できる操作
  • 手順
    • 新たなディスクにパーティションを作成し物理ボリュームとして作成する
    • 作成した物理ボリュームを既存のボリュームグループに追加
    • 容量を拡大したい論理ボリュームのサイズを拡大する
    • 該当論理ボリュームのファイルシステムのサイズを変更する

ディスクの追加

LVMの利点が特に発揮されるのは、ディスクの追加や削除といった状況が発生したときです。直接パーティションを利用していた場合、あるパーティションの容量を拡大したいと思っても、新しいディスクに容量を拡大したパーティションを準備し、すべてのデータをコピーしてから、新しいディスクに交換するといった手順が必要となってしまいます。これに対して、LVMを利用していた場合、既存のディスクを残したまま、新たなディスクを追加して、パーティションを拡大できます。

次に追加の手順を説明します。


(6) LVM ディスクの追加
  • 新規物理ボリュームを既存のボリュームグループに追加
    • /usr/sbin/vgextendコマンドを使う

ここでは、前述の環境に新たなディスク(/dev/sdd)を追加する手順を説明します。最初に新しいディスクにパーティション(/dev/sdd1)を作成して、物理ボリュームを作成します。

# /usr/sbin/pvcreate    /dev/sdd1

次に、/usr/sbin/vgextendでこの物理ボリュームを既存のボリュームグループに追加します。

# /usr/sbin/vgextend Volume00 /dev/sdd1
Volume group "Volume00" successfully extended

新しい物理ボリュームが追加されたことを/sbin/pvscanで確認します。

# /sbin/pvscan
PV /dev/sdb1   VG   Volume00      lvm2   [88.00 MB / 36.00 MB free]
PV /dev/sdc1   VG   Volume00      lvm2   [88.00 MB / 88.00 MB free]
PV /dev/sdd1   VG   Volume00      lvm2   [92.00 MB / 92.00 MB free]
Total: 3 [268.00 MB] / in use: 3   [268.00 MB] / in no VG: 0 [0 ]

  • 容量を拡大したい論理ボリュームのサイズを拡大
    • /usr/sbin/lvextendコマンドを使う

次に、/usr/sbin/lvextendで、容量を拡大したい論理ボリュームのサイズを拡大します。下記の例では、論理ボリュームLogVol01に50MBの容量を追加しています。-Lオプションに指定する単位には、「M」(メガバイト)のほか、「G」(ギガバイト)、「T」(テラバイト)も使えます。また、「+」を指定することを忘れないようにしましょう。

# /usr/sbin/lvextend -L +50M /dev/Volume00/LogVol01
Rounding up size to full physical extent 52.00 MB
Extending logical volume LogVol01 to 104.00 MB
Logical volume LogVol01 successfully resized

また、オプションとしてパーティションを指定することで拡大する領域を確保するディスクを指定できます。

# /usr/sbin/lvextend -L +20M /dev/Volume00/LogVol01 /dev/sdd1
Extending logical volume LogVol01 to 124.00 MB
Logical volume LogVol01 successfully resized

  • 論理ボリュームの実際のファイルシステムのサイズ変更
    • ext3ファイルシステムの場合
        resize2fs(8)を使う
    • XFSファイルシステムの場合
        xfs_growfs(8)を使う
    • Reiserファイルシステムの場合
        resize_reiserfs(8)を使う
    • RAWデバイスの場合
        ファイルシステムはないので操作不要

最後に論理ボリュームの実際のファイルシステムのサイズを変更する必要があります。ファイルシステムのサイズ変更は、ファイルシステムの情報を変更するので、作業の際には安全のため論理ボリュームはアンマウントしてから行います。

ext3ファイルシステムの場合

ext3ファイルシステムのサイズ変更は/sbin/resize2fsで行うことができます。論理ボリュームのサイズに合わせたパーティションとするためには、特にサイズを指定する必要はありません。作業に先だって、ファイルシステムの整合性をチェックするために、/sbin/e2fsckを実行しておきます。

# /sbin/e2fsck -f /dev/Volume00/LogVol01
# /sbin/resize2fs -p /dev/Volume00/LogVol01
resize2fs   1.35   (28-Feb-2004)
Resizing the filesystem on /dev/Volume00/LogVol01 to 106496 (1k) blocks.
Begin  pass   1    (max = 6)
Extending   the   inode table         XXXXXXXXXXXXXXXXXXXXXXXX
The filesystem on   /dev/Volume00/LogVol01 is now   106496   blocks long.

以上でext3ファイルシステムのサイズ拡大は完了です。再度マウントしてから利用してください。

XFSファイルシステムの場合

XFSファイルシステムのサイズ変更は、xfs_growfs(8)で行うことができます。xfs_growfs(8)でサイズを拡大する場合、ファイルシステムをマウントした状態でなければなりません。-Dオプションでサイズを指定しなければ、利用できる最大サイズ(パーティションのサイズ)まで、ファイルシステムを拡大します。
下記は、/xfsディレクトリにマウントしているXFSファイルシステムのサイズを、パーティションのサイズまで拡大している実行例です。

# /usr/sbin/xfs_growfs /xfs
meta-data   =   /xfs            isize=512   agcount=3,agsize=4096 blks
            =                   sectsz=512
Data        =   bsize=4096      blocks=12288, imaxpct=25
            =   sunit=0         swidth=0 blks, unwritten=1
Naming      =   version 2       bsize=4096
Log         =   internal        bsize=4096 blocks=1200,version=1
            =                   sectsz=512 sunit=0 blks
Realtime    =   none            extsz=65536 blocks=0, rtextents=0
data  blocks  changed  from  12288 to 31744

以上でXFSファイルシステムのサイズ拡大は完了です。すでにマウント状態なのでそのまま継続して使用できます。

Reiserファイルシステムの場合

Reiserファイルシステムのサイズ変更はresize_reiserfs(8)で行うことができます。サイズの拡大は、ファイルシステムをマウントした状態で行うことができます。-sオプションで拡大するサイズを指定しなければ、利用できる最大サイズ(パーティションのサイズ)までファイルシステムを拡大します。
下記は、論理ボリューム /dev/Volume00/LogVol01 として作成されたReiserファイルシステムのサイズを、パーティションのサイズまで拡大している実行例です。

# /sbin/resize_reiserfs     /dev/Volume00/LogVol01
resize_reiserfs   3.6.19   (2003 www.namesys.com)
resize_reiserfs:   On-line resizing finished successfully.
RAWデバイスの場合

RAWデバイスには、ファイルシステムのサイズのような情報はありません。パーティションのサイズがそのままRAWデバイスで利用可能な最大サイズとなります。したがって、論理ボリュームを拡大すれば、そのまま拡大したサイズを利用できます。


(7)LVM ディスクの交換
  • 以下の手順でLVMのディスクの交換を行う
    • 該当物理ボリュームのデータを他の空いている物理ボリュームに移す
    • 未使用状態のディスクをLVMから切り離す

ディスクの交換

システム運用中には、現在利用中のディスクを別のディスクに変更したいことがあります。LVMを使って運用している場合、LVM用に利用中の物理ボリュームのデータを、他の空いている物理ボリュームに移すことができます。したがって、利用中のディスクを交換したい場合には、まず利用中の物理ボリュームのデータを他の物理ボリュームに移動させます。そして、未使用状態になったディスクをLVMの管理から切り離します。物理ボリュームの利用状況は/usr/sbin/pvdisplayで確認できます。PE(Physical Extent)のAllocated PEの項目が利用中のエクステントの数です。この利用中のエクステントを、他の物理ボリュームに移すことが最初の作業です。

# /usr/sbin/pvdisplay /dev/sdb1
   --- Physical volume ---
   PV Name          /dev/sdb1
   VG Name          Volume00
   PV Size          88.00 MB / not usable 0
   Allocatable      yes (but full)
   PE Size (KByte)  4096
   Total PE         22
   Free PE          0
  Allocated PE      22
  PV UUID           z806zf-lCTk-RZrP-hEVn-l983-11Rm-H8OmCk

最初に安全のため、利用中の論理ボリュームのファイルシステムをアンマウントします。 次に/usr/sbin/pvmoveでその他の空いている物理ボリュームに利用中のエクステントを移動させます。/usr/sbin/pvmoveは、さまざまなオプションによって、移動させる物理ボリュームのエクステントを指定できます。今回は、/dev/sdb1に割り当てられているすべてのエクステントを/dev/sdd1に移動させます。

# /usr/sbin/pvmove /dev/sdb1 /dev/sdd1
/dev/sdb1:   Moved: 86.4%
/dev/sdb1:   Moved: 100.0%

この時点で、エクステントの移動が完了したので、再度ファイルシステムをマウントして利用できます。割り当て済みのエクステントがなくなった物理ボリュームは、ボリュームグループから解放できます。ボリュームグループから解放するために、/usr/sbin/vgreduceで物理ボリュームをボリュームグループから解放します。

# /usr/sbin/vgreduce   Volume00   /dev/sdb1
Removed "/dev/sdb1" from volume group "Volume00"

以上で、物理ボリュームが解放されたので、/sbin/pvscanで状態がinactiveになっていることを確認してから、ディスクを取り外します。

# /sbin/pvscan
PV   /dev/sdc1  VG Volume00    lvm2     [88.00 MB / 52.00 MB free]
PV   /dev/sdd1  VG Volume00    lvm2     [92.00 MB / 4.00 MB free]
PV   /dev/sdb                  1 lvm2   [88.00 MB]
Total:3 [268.00 MB]/ in use: 2 [180.00 MB]/ in no VG: 1 [88.00 MB]

(8)LVM ディスクの開放
  • 以下の手順でLVMのディスクを開放する
    • 論理ボリュームのファイルシステムをアンマウント
    • 論理ボリュームの停止、開放
    • ボリュームグループの停止、解放

ディスクの開放

LVMで利用中のディスクをすべて解放するには、次の手順で行います。 最初に論理ボリューム上で利用中のファイルシステムをアンマウントします。続いて、/usr/sbin/lvchangeで論理ボリュームの利用を停止し、/usr/sbin/lvremoveで論理ボリュームを解放します。論理ボリュームの利用を停止するためには、/usr/sbin/lvchangeの-aオプションに「n」を指定します。

# /usr/sbin/lvchange  -a  n  /dev/Volume00/LogVol01
# /usr/sbin/lvremove  /dev/Volume00/LogVol01
Logical volume "LogVol01" successfully removed

ボリュームグループ上で使用しているすべての論理ボリュームを削除すれば、ボリュームグループを削除できるようになります。ボリュームグループの削除は/sbin/vgchangeでボリュームグループの利用を停止して、/sbin/vgremoveでボリュームグループを解放します。ボリュームグループの利用を停止するためには、/sbin/vgchangeの-aオプションに「n」を指定します。

# /sbin/vgchange -a n Volume00
0 logical volume(s) in volume group "Volume00" now active
# /usr/sbin/vgremove Volume00
Volume group "Volume00" successfully removed

以上で、関連する物理ボリュームも利用停止状態になったので、ディスクを自由に変更することが可能です。通常のパーティションとして利用したい場合には、/sbin/fdiskでパーティションのIDを変更してから利用してください。


第2章 2へ 第3章 1へ

■この資料の評価をお願いします。
とても参考になった
参考になった
どちらでもない
あまり参考にならなかった
まったく参考にならなかった

コメントがある場合は以下に記述してください。技術資料として取り上げてほしいテーマも受け付けています。

以下は任意です。

お名前(フルネーム) :
会社名 :
メールアドレス :
 

会社情報 採用情報 個人情報保護方針 情報セキュリティ基本方針 商標等取り扱い事項 English
Copyright(c)2000-2015 MIRACLE LINUX CORPORATION. All Rights Reserved.