利用回环设备实现NFS磁盘配额
嵌入式系统软件开发过程中经常会使用NFS(网络文件系统)共享文件, 如果多人使用,可能需要做配额管理。quota 当然可以,但有点杀机焉用牛刀的感觉。利用unix的回环设备(loop device) 做配额管理,简单、方便,并且不需要对原来的物理文件系统做任何修改。当然,性能上会有损失(没有评估)。
以Ubuntu12.04 为例, 配置过程如下:
- 生成回环文件
- sudo dd if=/dev/zero of=tony.img bs=1G count=10
- 配置回环设备
- sudo losetup /dev/loop1 ./tony.img
- 建立文件系统
- sudo mkfs.ext4 /dev/loop1
- 解除回环设备的映射
- sudo losetup -d /dev/loop1
- 开机自动mount回环设备
编辑 /etc/fstab, 添加新的一行
/media/sda6/share/tony.img /media/sda6/share/tony ext4 loop, 0 0
挂载回环设备
- sudo mount -a
利用df命令查看当前文件系统信息, 如过设备被正常挂载, 会有类似信息:
/dev/loop0 10G 435M 9.1G 5% /media/sda6/share/tony
- 编辑 /etc/exports 将回环设备添加到NFS共享目录
- /media/sda6/share/tony *(rw,no_root_squash)
- restart NFS server
- sudo /etc/init.d/nfs-kernel-server restart
- 挂载NFS
- sudo mount -t nfs 172.29.43.183:/media/sda6/share/tony /mnt
- 利用df命令查看NFS的挂载信息
172.29.43.183:/media/sda6/share/tony 10G 434M 9.1G 5% /media/ipcam_share