These days i am doing some job on linux about user quota and lvm operation. The following is my notes :
1. First we should use fdisk to create a partition for lvm
fdisk /dev/sdb
Command action
a toggle a bootable flag
b edit bsd disklabel
c toggle the dos compatibility flag
d delete a partition
l list known partition types
m print this menu
n add a new partition
o create a new empty DOS partition table
p print the partition table
q quit without saving changes
s create a new empty Sun disklabel
t change a partition's system id
u change display/entry units
v verify the partition table
w write table to disk and exit
x extra functionality (experts only)
Command (m for help): n (add a new partition)
Command action
e extended
p primary partition (1-4)
p(primary partition)
After selecting partition, we should select a type for the device
Command (m for help): t
Partition number (1-4): 1
Hex code (type L to list codes): L
0 Empty 1e Hidden W95 FAT1 80 Old Minix bf Solaris
1 FAT12 24 NEC DOS 81 Minix / old Lin c1 DRDOS/sec (FAT-
2 XENIX root 39 Plan 9 82 Linux swap / So c4 DRDOS/sec (FAT-
3 XENIX usr 3c PartitionMagic 83 Linux c6 DRDOS/sec (FAT-
4 FAT16 <32M 40 Venix 80286 84 OS/2 hidden C: c7 Syrinx
5 Extended 41 PPC PReP Boot 85 Linux extended da Non-FS data
6 FAT16 42 SFS 86 NTFS volume set db CP/M / CTOS / .
7 HPFS/NTFS 4d QNX4.x 87 NTFS volume set de Dell Utility
8 AIX 4e QNX4.x 2nd part 88 Linux plaintext df BootIt
9 AIX bootable 4f QNX4.x 3rd part 8e Linux LVM e1 DOS access
a OS/2 Boot Manag 50 OnTrack DM 93 Amoeba e3 DOS R/O
b W95 FAT32 51 OnTrack DM6 Aux 94 Amoeba BBT e4 SpeedStor
c W95 FAT32 (LBA) 52 CP/M 9f BSD/OS eb BeOS fs
e W95 FAT16 (LBA) 53 OnTrack DM6 Aux a0 IBM Thinkpad hi ee EFI GPT
f W95 Ext'd (LBA) 54 OnTrackDM6 a5 FreeBSD ef EFI (FAT-12/16/
10 OPUS 55 EZ-Drive a6 OpenBSD f0 Linux/PA-RISC b
11 Hidden FAT12 56 Golden Bow a7 NeXTSTEP f1 SpeedStor
12 Compaq diagnost 5c Priam Edisk a8 Darwin UFS f4 SpeedStor
14 Hidden FAT16 <3 61 SpeedStor a9 NetBSD f2 DOS secondary
16 Hidden FAT16 63 GNU HURD or Sys ab Darwin boot fb VMware VMFS
17 Hidden HPFS/NTF 64 Novell Netware b7 BSDI fs fc VMware VMKCORE
18 AST SmartSleep 65 Novell Netware b8 BSDI swap fd Linux raid auto
1b Hidden W95 FAT3 70 DiskSecure Mult bb Boot Wizard hid fe LANstep
1c Hidden W95 FAT3 75 PC/IX be Solaris boot ff BBT
Above is the all the filesystem type used by fdisk
usually when we use ext3 we choose 83(linux) and if we want to use lvm we choose 8e(linux lvm)
Here we talk about creating a lvm so we choose 8e
now we can use the lvm.
2. in linux there are some concepts we should know about lvm
physical volumn(pv)
volumn group(vg)
logical volumn(lv)
If we wanna use disk partition we just created using fdisk we should create pv with command pvcreate, e.g,
pvcreate /dev/sdb1
after that we can add a pv to a volumn group. if we do not have vg in the system,we should create one with command : vgcreate. eg.
vgcreate shadowvol /dev/sdb1
The command above means we create a volumn group with name shadowvol and add the pv /dev/sdb1 to the vg shadowvol
we also can add a pv to the existing vg with the command:vgextend, eg.
vgextend shadowvol /dev/sdb2
it means we can extend the shadowvol by adding another pv to it.
when we have a vg we can create a logical volumn with the command:lvcreate,eg
lvcreate -L400M -nsh_test shadowvol
it means we create a logical volumn of 400MB named "sh_test" in the vg shadowvol. If it works we can see the device /dev/shadowvol/sh_test
now we should format the logical volumn we just have created.
if we want to use xfs we should install additional software. in centos we should install
xfsprogs-2.9.4-1.el5.centos
xfsprogs-devel-2.9.4-1.el5.centos
xfsdump-2.2.46-1.el5.centos
kmod-xfs-0.4-2
now we can format the logical volumn with mkfs.xfs:
mkfs.xfs /dev/shadownvol/sh_test
after that we can mount /dev/shadowvol/sh_test to anyplace we want,eg.
mkdir -p /data/shadow_share ;
mount /dev/shadowvol/sh_test /data/shadow_share
About user quota in linux
first we can only apply user quota on the indepentent partition.
for example we have a partition named /dev/sdb2 and we mount it to the folder /mnt/ext1. we want add use quota on the folder we can do the following procedure.
1. mount -o remount,usrquota,grpquota /mnt/ext1
2. quotacheck -augv(u:user g:group v:show report,a:all)
3. quotaon -avug (open quota function, if we want to shutdown the quota we can use quotaoff -avug)
4. edquota -u username(edit the quota record for user named username) and if we wanna edit group quota record we can use edquota -g groupname
5. quota -uvs username (quota -gvs groupname) show the quota record for the user of group
6. repquota -auvsg(report quota record for user or group)
test: dd if=/dev/zero of=bigfile bs=1M count=200(read from /dev/zero named bigfile and block size=1m,count=200)
Wow, the note is in a mess but it is a real one.