Linuxはディレクトリを作成し、そのサイズを制限します

 

100MBのディスクイメージが生成されると仮定します ,ブロックサイズは1024Bです

[ルート@ AMH〜]# dd if = / dev / zero of = /root/disk.img bs = 1024 count = 102400

102400 +0の読み取り値を記録しました

記録された102400 + 0の書き込み

104857600バイト(105 MB)コピー,0.944818 2番目,111 MB /秒

ディスクミラーリングを関連付けてデバイスをブロックする(loop0からloop7を使用できます)

[ルート@ AMH〜]# losetup / dev / loop0 /root/disk.img

フォーマット

[ルート@ AMH〜]# mkfs.ext4 / dev / loop0

mke2fs 1.41.12 (17-2010年5月)

デバイスブロックの破棄: 実施する

ファイルシステムラベル=

オペレーティング・システム:Linux

ブロックサイズ= 1024 (log = 0)

ブロックサイズ= 1024 (log = 0)

ストライド= 0ブロック, ストライプ幅= 0ブロック

25688 iノード, 102400 ブロック

5120 ブロック (5.00%) スーパーユーザー用に予約済み

最初のデータブロック= 1

最大ファイルシステムブロック= 67371008

13 ブロックグループ

8192 グループあたりのブロック, 8192 グループごとのフラグメント

1976 グループごとのiノード

ブロックに保存されたスーパーブロックバックアップ:

8193, 24577, 40961, 57345, 73729

inodeテーブルへの書き込み: 実施する

ジャーナルの作成 (4096 ブロック): 実施する

スーパーブロックとファイルシステムアカウンティング情報の書き込み: 実施する

このファイルシステムは毎回自動的にチェックされます 32 マウントまたは

180 日々, いずれか早い方. tune2fs-cまたは-iを使用してオーバーライドします.

ディレクトリを作成する,そしてマウント

[ルート@ AMH〜]# mkdir -p / mnt / area0

[ルート@ AMH〜]# マウント/ dev / loop0 / mnt / area0 /

作成したディレクトリのサイズを確認してください

[ルート@ AMH〜]# df -h

使用されたファイルシステムのサイズ使用率使用率

/dev / mapper / VolGroup-lv_root 28G 12G 15G 44% /

tmpfs 301M 16K 301M 1% /dev / shm

/dev / sda1 485M 35M 426M 8% /ブート

/dev / loop0 97M 5.6M 87M 7% /mnt / area0

100MBを超えるファイルをコピーする

[root @ AMH opt]# ll -h web.tar.gz

-rw-r–r– 1 ルートルート251M 3月 14 2016 web.tar.gz

[root @ AMH opt]# cp web.tar.gz / mnt / area0 /

cp: 書き込み”/mnt / area0 / web.tar.gz”: デバイスにスペースがありません

[root @ AMH opt]# df -h

使用されたファイルシステムのサイズ使用率使用率

/dev / mapper / VolGroup-lv_root 28G 12G 15G 44% /

tmpfs 301M 16K 301M 1% /dev / shm

/dev / sda1 485M 35M 426M 8% /ブート

/dev / loop0 97M 95M 0 100% /mnt / area0

100M未満のファイルをコピーする

[root @ AMH opt]# cp cloud.sql / mnt / area0

[root @ AMH opt]# ll /mnt/area0/cloud.sql

-rw-r–r– 1 ルートルート 5610502 4月 1 10:43 /mnt / area0 / cloud.sql

[root @ AMH opt]# ll -h /mnt/area0/cloud.sql

-rw-r–r– 1 ルートルート5.4M 4月 1 10:43 /mnt / area0 / cloud.sql

 

システムの再起動後,ディレクトリの内容は失われます,ミラーデバイスとループデバイスを再度関連付ける必要があります,そして、元のパスにマウントします,

マウントするディスクフォーマットを指定する必要はありません,以前にフォーマットされているため.

[ルート@ AMH〜]# cd / mnt / area0

[root @ AMH area0]# ls

[root @ AMH area0]# cd ..

[root @ AMH mnt]# マウント/ dev / loop0 / mnt / area0

マウント: ファイルシステムタイプを指定する必要があります

[root @ AMH mnt]# mount -t ext4 / dev / loop0 / mnt / area0

マウント: 間違ったfsタイプ, 悪いオプション, / dev / loop0のスーパーブロックが不良,

コードページまたはヘルパープログラムがありません, またはその他のエラー

(これは、実際に使用するIDEデバイスである可能性があります

ide-scsiで、sr0またはsdaなどが必要になります?)

場合によっては、syslogに役立つ情報があります – 試してみてください

dmesg | しっぽかそこら

[root @ AMH mnt]# マウント/ dev / loop0 / mnt / area0

マウント: ファイルシステムタイプを指定する必要があります

[root @ AMH mnt]# losetup / dev / loop0 /root/disk.img

[root @ AMH mnt]# マウント/ dev / loop0 / mnt / area0

[root @ AMH mnt]# cd / mnt / area0

[root @ AMH area0]# ls

cloud.sql lost + found

[root @ AMH area0]# df -h

使用されたファイルシステムのサイズ使用率使用率

/dev / mapper / VolGroup-lv_root 28G 12G 15G 44% /

tmpfs 301M 16K 301M 1% /dev / shm

/dev / sda1 485M 35M 426M 8% /ブート

/dev / loop0 97M 11M 81M 12% /mnt / area0

起動時の自動マウント

vim /bin/mount_fs.sh

#!/ビン/バッシュ

losetup / dev / loop0 /root/disk.img

マウント/ dev / loop0 / mnt / area0

chmod + x /bin/mount_fs.sh

vim /etc/rc.local

/bin / mount_fs.sh

異なるディレクトリにマウントする必要がある複数のデバイスがある場合,mout_fs.shで書くことができます

別の方法は、ディスククォータを達成することです, この方法ほど単純ではありません.

ただし、このメソッドは、ディレクトリが作成されるときに一定のスペースを占有します.

返信を残します