ext3格式下的quota的實現
2024-07-21 02:37:39
供稿:網友
ext3是由開放資源社區開發的日志文件系統,ext3被設計成是ext2的升級版本,ext3在ext2的基礎上加入了記錄元數據的日志功能,努力保持向前和向后的兼容性。這個文件系統被稱為ext2的下一個版本。
ext3fs最大的優點是向下兼容ext2,而且ext3fs還支持異步的日志,這意味著它的性能可能比ext2還好。但是使用ext3文件系統時不支持磁盤限量功能。
red hat從kernel2.4.17-PRe8以后支持ext3的磁盤quota,我選擇了更為穩定的kernel2.4.18來實現。
<1.源文件>
kernel-2.4.18:http://www.kernel.org/pub/linux/kernel/v2.4/linux-2.4.18.tar.gz
quota:FTP://ftp.rpmfind.net/linux/redhat/7.3/en/os/i386/RedHat/RPMS/quota-3.03-1.i386.rpm
把檔案放在/home/src下
<2.設定方法>
2-1-2)kernel升級過程:
#cd /home/src
#mkdir kernel_update
#cp ./linux-2.4.18.tar.gz ./kernel_update
#cd kernel_update
#tar zxvf linux-2.4.18.tar.gz
#cd linux
#make menUConfig
此時出現Linux Kernel v2.4.18 Configuration的窗口
Processor type and features --->
General setup --->
Memory Technology Devices (MTD) --->
Parallel port support --->
Plug and Play configuration --->
Block devices --->
Multi-device support (RAID and LVM) --->
Networking options --->
Telephony Support --->
ATA/IDE/MFM/RLL support --->
SCSI support --->
Fusion MPT device support --->
I2O device support --->
Network device support --->
Amateur Radio support --->
IrDA (infrared) support --->
ISDN subsystem --->
Old CD-ROM drivers (not SCSI, not IDE) --->
Input core support --->
Character devices --->
Multimedia devices --->
File systems --->
Console drivers --->
Sound --->
USB support --->
Kernel hacking --->
---
Load an Alternate Configuration File
Save Configuration to an Alternate File
以下都是kernel里的選項,可以根據server硬件的不同自行選擇
與quota有關的設定如下
找到File systems ---> 的字樣 (第22行) 按空格鍵
把第一行的Quota support前打上*號
[*] Quota support
Kernel automounter support
<*> Kernel automounter version 4 support (also supports v3)
< > Reiserfs support
Ext3 journalling file system support (EXPERIMENTAL)
[*] JBD (ext3) debugging support
< > DOS FAT fs support
< > Compressed ROM file system support
[*] Virtual memory file system support (former shm fs)
< > Simple RAM-based file system support
<*> ISO 9660 CDROM file system support
[ ] Microsoft Joliet CDROM extensions
[ ] Transparent decompression extension
< > Minix fs support
< > FreeVxFS file system support (VERITAS VxFS(TM) compatible)
< > NTFS file system support (read only)
< > OS/2 HPFS file system support
[*] /proc file system support
[*] /dev/pts file system for Unix98 PTYs
< > ROM file system support
<*> Second extended fs support
< > System V/Xenix/V7/Coherent file system support
< > UDF file system support (read only)
< > UFS file system support (read only)
Network File Systems --->
選定以后選擇exit退出。
出現以下:
┌──────────────────────────────────────────────────────────┐
│ Do you wish to save your new kernel configuration? │
├──────────────────────────────────────────────────────────┤
│ < Yes > < No > │
└──────────────────────────────────────────────────────────┘
選擇yes
然后出現以下字樣:
Saving your kernel configuration...
*** End of Linux kernel configuration.
*** Check the top-level Makefile for additional configuration.
*** Next, you must run 'make dep'.
2-1-2)編譯kernel
#make dep
#make clean
#make bzImage
#make modules
#make modules_install
2-1-3)cp新的kernel到啟動區
#cp /home/src/kernel_update/linux/arch/i386/boot/bzImage /boot/vmlinuz-2.4.18
#mkinitrd /boot/initrd-2.4.18.img 2.4.18
#vi /etc/lilo.conf
在最后添加以下
image=/boot/vmlinuz-2.4.18 <= kernel的路徑
label=newkernel <= 啟動時的卷標
initrd=/boot/initrd-2.4.18.img <= kernelimg的路徑
read-only
root=/dev/hda2 <= / 所在的區
#/sbin/lilo -m /boot/map
2-1-4)重新啟動server
#reboot
重新啟動進入時在redhat lilo的選擇界面選擇newkernel進入
2-2)設定quota
2-2-1)安裝quota。
#cd /home/src
#rpm -ivv quota-3.03-1.i386.rpm
2-2-2)設定quota,以home為例
#vi /etc/fstab
把
LABEL=/home /home ext3 defaults 1 2
改成
LABEL=/home /home ext3 defaults,usrquota,grpquota 1 2
重啟server
#/sbin/reboot
2-2-3)設定用戶限定
#quotacheck -uvg /home
#edquota -u test
Disk quotas for user chenc (uid 694):
Filesystem blocks soft hard inodes soft hard
/dev/hda5 6000 5000 6000 3 5000 6000
在soft和hard下添上需要限制的磁盤大小(單位是K)
#edquota -t
Grace period before enforcing soft limits for users:
Time units may be: days, hours, minutes, or seconds
Filesystem Block grace period Inode grace period
/dev/hda5 1minutes 1minutes
設定soft quota和hard quota之間的時間。
啟動quota
#quotaon -av
<3、測試>
用test帳號用ftp進行測試,當test目錄達到了5M時,提示Disk quota exceeded.