����w���A���@�A��s�峹�аѦ��o��

�p�G�z�� Linux ���A�����h�ӥΤ�g�`�s����ƮɡA���F���@�Ҧ��ϥΪ̦b�w�Юe�q�������ϥΡA�Ϻаt�B (Quota) �N�O�@���D�`���Ϊ��u��I�t�~�A�p�G�A���Τ�`�`���ϺЮe�q�����ΡA�����i�����ɮרt�δN�o�n�Dz߾DzߡC �����ڭ̷|���кϺа}�C (RAID) ���޿豲�b�ɮרt�� (LVM)�A�o�Ǥu�㳣�i�H���U�A�޲z�P���@�ϥΪ̥i�Ϊ��ϺЮe�q��I

1. �Ϻаt�B (Quota) �����λP��@
�@�@1.1 ����O Quota�G�@��γ~, ����, �W�d (inode/block, soft/hard, grace time)
�@�@1.2 �@�� Quota ����@�d��
�@�@1.3 ��@ Quota �y�{-1�G�ɮרt�Τ䴩 (/etc/fstab, /etc/mtab)
�@�@1.4 ��@ Quota �y�{-2�G�إ� quota �O���� (quotacheck)
�@�@1.5 ��@ Quota �y�{-3�G�ҰʡB�����P����ȳ]�w (quotaon, quotaoff, edquota)
�@�@1.6 ��@ Quota �y�{-4�GQuota ����Ȫ����� (quota, repquota)
�@�@1.7 ��@ Quota �y�{-5�G���ջP�޲z (����, warnquota, setquota)
�@�@1.8 ����ʬJ���t�Ϊ� Quota ���
2. �n��Ϻа}�C (Software RAID)
�@�@2.1 ����O RAID�G RAID-0, RAID-1, RAID0+1, RAID-5, Spare disk
�@�@2.2 software, hardware RAID
�@�@2.3 �n��Ϻа}�C���]�w�G mdadm --create
�@�@2.4 ���� RAID ���~���ϴ��Ҧ��G mdadm --manage
�@�@2.5 �}���۰ʱҰ� RAID �æ۰ʱ���
�@�@2.6 �����n�� RAID(���n�I)
3. �޿豲�b�޲z�� (Logical Volume Manager)
�@�@3.1 ����O LVM�G PV, PE, VG, LV ���N�q
�@�@3.2 LVM ��@�y�{�G PV ���q, VG ���q, LV ���q, �ɮרt�ζ��q
�@�@3.3 ��j LV �e�q�G resize2fs
�@�@3.4 �Y�p LV �e�q
�@�@3.5 LVM ���t�Χַ��G �إ�, �٭�, �Ω��������
�@�@3.6 LVM �������O�J��P LVM ������
4. ���I�^�U
5. �������D
6. �ѦҸ�ƻP�����\Ū
7. �w�糧�媺��ij�Ghttp://phorum.vbird.org/viewtopic.php?t=23888

�Ϻаt�B (Quota) �����λP��@

Quota �o�Ӫ��N��N�r���W���N��ӬݡA�N�O���h�֡y���B�z���N��աI�p�G�O�Φb�s�ο��W���A �N�O�����y���h�ֹs�ο��@�Ӥ��z���N�䤧�����C�p�G�O�b�q���D�����ϺШϥζq�W�O�H�H Linux �ӻ��A�N�O���h�֮e�q����N���o�C�ڭ̥i�H�ϥ� quota �����ϺЪ��e�q�ϥθ��������A ���U�ڭ̷|���Ф���O quota �A�M��H�@�ӧ��㪺�d�ҨӤ��� quota ����@��I


����O Quota

�b Linux �t�Τ��A�ѩ�O�h�H�h�u�����ҡA�ҥH�|���h�H�@�P�ϥΤ@�ӵw�ЪŶ������p�o�͡A �p�G�䤤���ּƴX�ӨϥΪ̤j�q�������F�w�ЪŶ����ܡA���ե����Y��L�ϥΪ̪��ϥ��v�O�I �]���޲z�����ӾA��������w�Ъ��e�q���ϥΪ̡A�H���������t�t�θ귽�I�קK���H��ij�r�I

�|�Ҩӻ��A�ڭ̨ϥΪ̪��w�]�a�ؿ����O�b /home ���U�A�p�G /home �O�ӿW�ߪ� partition �A ���]�o�Ӥ��μѦ� 10G �n�F�A�� /home ���U�@�� 30 �ӱb���A�]�N�O���A�C�ӨϥΪ̥������ӷ|�� 333MB ���Ŷ��~��C �������ӨϥΪ̦b�L���a�ؿ����U��F�n�h���v���A�����F 8GB ���Ŷ��A�Q�Q�ݡA�O�_�y����L���`�ϥΪ̪����K�O�H �p�G�Q�n���ϺЪ��e�q���������t�A�o�ӮɭԴN�o�n�a quota �������o�I


quota ����`�ϥΪ��X�ӱ��p�O�G

�W�Y�����O�w������A�Ȫ��]�p�A�p�G�O�w�� Linux �t�ΥD���W�����]�w����ϥΪ���V�����U�o�@�ǡG

�j�����o�ǹ�ڪ��γ~�աI


���M quota �ܦn�ΡA���O�ϥΤW�٬O���ǭ���n���A�Ѫ��G

�ҥH�o�A�A����w��y�Y�ӥؿ��z�Ӷi�� Quota ���]�p�A���A�i�H�w��y�Y���ɮרt�� (filesystem) �z�ӳ]�w�C �p�G�����եؿ��P�����I�٦��ɮרt�Ϊ����Y�A�Ц^���ĤK���h�@�@�A�^�ӡI


quota �o���N��w���� filesystem ������إD�n�������U�X�ӳ����G

��� soft, hard, grace time �������ʧڭ̥i�H�Ω��U���ϥܨӻ����G

soft, hard, grace time ��������
�� 1.1.1�Bsoft, hard, grace time ��������

�Ϥ��������Ϭ��ϥΪ̪��ϺЮe�q�Asoft/hard ���O�O����ȡC�u�n�p�� 400M �N�@�� OK �A �Y���� soft �N�X�{ grace time �í˼ƥB���ݨϥΪ̦ۦ�B�z�A�Y��F hard ������ȡA ���ڭ̴N�h�i�p�O�����۬ݦn���աI�K�K�I^_^�I�o�˹ϥܦ��M���@�I�F�ܡH


�@�� Quota ��@�d��

���Ө����p�_�Ӧ�ڡA�ҥH�o�̧ڭ̨ϥΤ@�ӽd�Ҩӳ]�p�@�U�p��B�z Quota ���]�w�y�{�C

�n�F�A���A���W�d�b���H�ά����� Quota �]�w�O�H�����A�b�o�Ӥp�`�ڭ̥��ӱN�b���������ݩʻP�ѼƷd�w�A���a�I

# �s�@�b�����ҮɡA�ѩ󦳤��ӱb���A�]�������ϥ� script �ӫإ����ҡI
[root@www ~]# vi addaccount.sh
#!/bin/bash
# �ϥ� script �ӫإ߹��� quota �һݪ�����
groupadd myquotagrp
for username in myquota1 myquota2 myquota3 myquota4 myquota5
do
	useradd -g myquotagrp $username
	echo "password" | passwd --stdin $username
done

[root@www ~]# sh addaccount.sh

���U�ӡA�N���ڭ̨ӹ�@ Quota ���m�ߧa�I


��@ Quota �y�{-1�G�ɮרt�Τ䴩

�e���ڭ̴N�ͨ�A�n�ϥ� Quota �����n�֤߻P�ɮרt�Τ䴩�~��I���]�A�w�g�ϥΤF�w�]�䴩 Quota ���֤ߡA ���򱵤U�ӴN�O�n�Ұ��ɮרt�Ϊ��䴩�աI���L�A�ѩ� Quota �Ȱw�����ɮרt�ΨӶi��W���A�ҥH�ڭ̱o���d�@�U�A /home �O�_�O�ӿW�ߪ� filesystem �O�H

[root@www ~]# df -h /home
Filesystem     Size  Used Avail Use% Mounted on
/dev/hda3      4.8G  740M  3.8G  17% /home  <==�����D���� /home �T��O�W�ߪ��I

[root@www ~]# mount | grep home
/dev/hda3 on /home type ext3 (rw)

�q�W������ƨӬݡA�����o���D���� /home �T��O�W�ߪ� filesystem�A�]���i�H�������� /dev/hda3 �C �p�G�A���t�Ϊ� /home �ëD�W�ߪ��ɮרt�ΡA����i��N�o�n�w��ڥؿ� (/) �ӳW�d�F�I���L�A���ӫ�ij�b�ڥؿ��]�w Quota�C ���~�A�ѩ� VFAT �ɮרt�Ψä��䴩 Linux Quota �\��A�ҥH�ڭ̱o�n�ϥ� mount �d�ߤ@�U /home ���ɮרt�ά���H �ݰ_�ӬO Linux �DzΪ� ext2/ext3 �A�o���ɮרt�Ϊ֩w���䴩 Quota �աI�S���D�I

�p�G�u�O�Q�n�b�o���}�������� Quota �A����i�H�ϥΦp�U���覡�Ӥ�ʥ[�J quota ���䴩�G

[root@www ~]# mount -o remount,usrquota,grpquota /home
[root@www ~]# mount | grep home
/dev/hda3 on /home type ext3 (rw,usrquota,grpquota)
# ���I�N�b�� usrquota, grpquota �I�`�N�g�k�I

�ƹ�W�A���A���s�����ɡA�t�η|�P�B��s /etc/mtab �o���ɮסA �ҥH�A�����n�T�w /etc/mtab �w�g�[�J usrquota, grpquota ���䴩��A�ҷQ�n�]�w���ɮרt�Τ��C �t�~�]�n�S�O�j�աA�ϥΪ̻P�s�ժ� quota �ɮרt�Τ䴩�ѼƤ��O�O�Gusrquota, grpquota �I�d�U���n�g���F�I�o�@�I�D�`�h�챵IJ Quota ���B�ͱ`�`�d���C

���L��ʱ�������Ʀb�U�����s�����N�|�����A�]���̦n�g�J�]�w�ɤ��ڡI�b�����o���D�����רҤ��A �ڥi�H�����ק� /etc/fstab �������U�o�Ӽˤl�G

[root@www ~]# vi /etc/fstab
LABEL=/home   /home  ext3   defaults,usrquota,grpquota  1 2
# ��L���س����èS���C�X�ӡI���I�b��ĥ|���I�� default �᭱�[�W��ӰѼơI

[root@www ~]# umount /home
[root@www ~]# mount -a
[root@www ~]# mount | grep home
/dev/hda3 on /home type ext3 (rw,usrquota,grpquota)

�٬O�n�A�����j�աA�ק粒 /etc/fstab ��A�ȥ��n���դ@�U�I�Y���o�Ϳ��~�o�n����B�z�I �]���o���ɮצp�G�ק���~�A�O�|�y���L�k�}�����������p�ڡI���O���O�I�̦n�ϥ� vim �ӭק�աI �]���|���y�k������A�N���|���A�g���r�F�I�Ұ��ɮרt�Ϊ��䴩��A���U�����ڭ̫إ߰_ quota ���O���ɧa�I


��@ Quota �y�{-2�G�إ� quota �O����

��� Quota �O�z�L���R����ɮרt�Τ��A�C�ӨϥΪ�(�s��)�֦����ɮ��`�ƻP�`�e�q�A �A�N�o�Ǹ�ưO���b���ɮרt�Ϊ��̳��h�ؿ��A�M��b�ӰO���ɤ��A�ϥΨC�ӱb��(�θs��)������ȥh�W�d�ϺШϥζq���C �ҥH�աA�ظm�o�� Quota �O���ɴN�㪺�D�`�����n�C���˦��䴩 Quota �Ѽ� (usrquota, grpquota) ���ɮרt�ΡA �N�ϥ� quotacheck �o�ӫ��O�I�o�ӫ��O���y�k�p�U�G


[root@www ~]# quotacheck [-avugfM] [/mount_point]
�ﶵ�P�ѼơG
-a  �G���˩Ҧ��b /etc/mtab ���A�t�� quota �䴩�� filesystem�A�[�W���Ѽƫ�A 
      /mount_point �i�����g�A�]�����˩Ҧ��� filesystem �F���I
-u  �G�w��ϥΪ̱����ɮ׻P�ؿ����ϥα��p�A�|�إ� aquota.user
-g  �G�w��s�ձ����ɮ׻P�ؿ����ϥα��p�A�|�إ� aquota.group
-v  �G��ܱ��˹L�{����T�F
-f  �G�j����ɮרt�ΡA�üg�J�s�� quota �]�w�� (�M�I)
-M  �G�j��HŪ�g���覡�����ɮרt�ΡA�u���b�S�����p�U�~�|�ϥΡC

quotacheck ���ﶵ�A�u�n�O�o�y -avug �z�@�_�U�F�Y�i�I���� -f �P -M �O�b�ɮרt�Υi��w�g�Ұ� quota �F�A ���O�A�ٷQ�n���s�����ɮרt�ήɡA�t�η|�n�D�A�[�J����ӿﶵ�� (��ߦ���L�H�w�g�ϥ� quota ��)�I���ɨS���n���n�[�W����Ӷ��ءC�n�F�A���N���ڭ̨ӳB�z�ڭ̪����ȧa�I

# �w���Өt�Χt�� usrquota, grpquota �Ѽƪ��ɮרt�ζi�� quotacheck ����
[root@www ~]# quotacheck -avug
quotacheck: Scanning /dev/hda3 [/home] quotacheck: Cannot stat old user quota
file: No such file or directory <==������ɮרt�ΡA���|���s�@�O���ɡI
quotacheck: Cannot stat old group quota file: No such file or directory
quotacheck: Cannot stat old user quota file: No such file or directory
quotacheck: Cannot stat old group quota file: No such file or directory
done  <==�W���T�ӿ��~�u�O�����O���ɩ|���إߦӤw�A�i�H�������z�I
quotacheck: Checked 130 directories and 107 files <==��ڷj�M���G
quotacheck: Old file not found.
quotacheck: Old file not found.
# �Y����o�ӫ��O�o�X�{�p�U�����~�T���A���ܧA�S�������ɮרt�Φ��Ұ� quota �䴩�I
# quotacheck: Can't find filesystem to check or filesystem not mounted with 
# quota option.

[root@www ~]# ll -d /home/a*
-rw------- 1 root root 8192 Mar  6 11:58 /home/aquota.group
-rw------- 1 root root 9216 Mar  6 11:58 /home/aquota.user
# �b�������רҤ��A/home �W�ߪ��ɮרt�ΡA�]���j�M���G�|�N��ӰO���ɩ�b 
# /home ���U�C�o����ɮ״N�O Quota �̭��n����T�F�I

�o�ӫ��O�u�n�i���o�̴N���F�A���n���Ъ��i��I�]�����@�U�ڭ̷|�Ұ� quota �\��A�Y�Ұʫ�A�٭n�i�� quotacheck �A �t�η|��߯}�a�즳���O���ɡA�ҥH�|���ͤ@�ǿ��~�T��ĵ�i�A�C�p�G�A�T�w�S������H�b�ϥ� quota �ɡA �i�H�j��s�i�� quotacheck ���ʧ@�C�j����檺���p�i�H�ϥΦp�U���ﶵ�\��G

# �p�G�]���S���ݨD�ݭn�j��ˤw�������ɮרt�ή�
[root@www ~]# quotacheck -avug -mf
quotacheck: Scanning /dev/hda3 [/home] done
quotacheck: Checked 130 directories and 109 files
# ��ƭn²��ܦh�I�]�����O���ɦs�b���I�ҥHĵ�i�T�����|�X�{�I

�o�˰O���ɴN�إ߰_�ӤF�I�A���Τ�ʥh�s�診����ɮס�]��������ɮ׬O quota �ۤv������ɡA�ä��O�¤�r�ɰաI �B���ɮ׷|�@���ܰʡA�o�O�]�����A�� /home �o���ɮרt�ζi��ާ@�ɡA�A�ާ@�����G�|�v�T�ϺЧa�I �ҥH���M�|�P�B�O���쨺����ɮפ��աI�ҥH�n�إ� aquota.user, aquota.group�A�O�o�ϥΪ��O quotacheck ���O�I ���O��ʽs�誺��I


��@ Quota �y�{-3�GQuota �ҰʡB �����P����ȳ]�w

�s�@�n Quota �]�w�ɤ���A���U�ӴN�O�n�Ұ� quota �F�I�Ұʪ��覡��²��I�ϥ� quotaon �A�ܩ������N�� quotaoff �Y�i


[root@www ~]# quotaon [-avug]
[root@www ~]# quotaon [-vug] [/mount_point]
�ﶵ�P�ѼơG
-u  �G�w��ϥΪ̱Ұ� quota (aquota.user)
-g  �G�w��s�ձҰ� quota (aquota.group)
-v  �G��ܱҰʹL�{�������T���F
-a  �G�ھ� /etc/mtab ���� filesystem �]�w�Ұʦ����� quota �A�Y���[ -a ���ܡA
      �h�᭱�N�ݭn�[�W�S�w������ filesystem ��I

# �ѩ�ڭ̭n�Ұ� user/group �� quota �A�ҥH�ϥΩ��U���y�k�Y�i
[root@www ~]# quotaon -auvg
/dev/hda3 [/home]: group quotas turned on
/dev/hda3 [/home]: user quotas turned on

# �S���Ϊk�A���p�A���Ұ� /var �� quota �䴩�A����ȱҰ� user quota ��
[root@www ~]# quotaon -uv /var

�o�ӡy quotaon -auvg �z�����O�X�G�u�b�Ĥ@���Ұ� quota �ɤ~�ݭn�i��I�]���U�����A���s�Ұʨt�ήɡA �t�Ϊ� /etc/rc.d/rc.sysinit �o�Ӫ�l�Ƹ}���N�|�۰ʪ��U�F�o�ӫ��O�F�I�]���A�u�n�b�o����Ҥ��i��@���Y�i�A ���ӳ����ݭn�ۦ�Ұ� quota �A�]�� CentOS 5.x �t�η|�۰����A�d�w�L�I


[root@www ~]# quotaoff [-a]
[root@www ~]# quotaoff [-ug] [/mount_point]
�ﶵ�P�ѼơG
-a  �G������ filesystem �� quota ������ (�ھ� /etc/mtab)
-u  �G�Ȱw��᭱�������� /mount_point ���� user quota
-g  �G�Ȱw��᭱�������� /mount_point ���� group quota

�o�ӫ��O�N�O�����F quota ���䴩�I�ڭ̳o�̻ݭn�m�� quota ��@�A�ҥH�o�̽Ф��n�����L��I ���U�����ڭ̶}�l�ӳ]�w�ϥΪ̻P�s�ժ� quota ���B�a�I


edquota �O edit quota ���Y�g�A�ҥH�N�O�Ψӽs��ϥΪ̩Ϊ̬O�s�խ��B�����O�o�C�ڭ̥��Ӭݬ� edquota ���y�k�a�A �ݧ���A�ӹ�ھާ@�@�U�C

[root@www ~]# edquota [-u username] [-g groupname]
[root@www ~]# edquota -t  <==�ק�e���ɶ�
[root@www ~]# edquota -p �d���b�� -u �s�b��
�ﶵ�P�ѼơG
-u  �G�᭱���b���W�١C�i�H�i�J quota ���s��e�� (vi) �h�]�w username ������ȡF
-g  �G�᭱���s�զW�١C�i�H�i�J quota ���s��e�� (vi) �h�]�w groupname ������ȡF
-t  �G�i�H�ק�e���ɶ��C
-p  �G�ƻs�d���C���� �d���b�� ���w�g�s�b�åB�w�]�w�n quota ���ϥΪ̡A
      �N�q���y�N �d���b�� �o�ӤH�� quota ����Ƚƻs�� �s�b�� �z�I

�n�F�A�����ڭ̨Ӭݬݷ��i�J myquota1 �����B�]�w�ɡA�|�X�{����e���G

�d�Ҥ@�G�]�w dmtsai �o�ӨϥΪ̪� quota �����
[root@www ~]# edquota -u myquota1
Disk quotas for user myquota1 (uid 710):
  Filesystem    blocks  soft   hard  inodes  soft  hard
  /dev/hda3         80     0      0      10     0     0

�W�Y�Ĥ@��b�����w����ӱb�� (myquota1) �i�� quota �����B�]�w�A�ĤG��h�O���Y��A�̭��@�����C�����A �C�������O���N�q���G

  1. �ɮרt�� (filesystem)�G�����ӭ���ȬO�w������ɮרt�� (�� partition)�F
  2. �ϺЮe�q (blocks)�G�o�ӼƭȬO quota �ۤv��X�Ӫ��A��쬰 Kbytes�A�Ф��n��ʥL�F
  3. soft�G�ϺЮe�q (block) �� soft ����ȡA���笰 KB
  4. hard�Gblock �� hard ����ȡA��� KB�F
  5. �ɮ׼ƶq (inodes)�G�o�O quota �ۤv��X�Ӫ��A��쬰�ӼơA�Ф��n��ʥL�F
  6. soft�Ginode �� soft ����ȡF
  7. hard�Ginode �� hard ����ȡF

�� soft/hard �� 0 �ɡA���ܨS������N��C�n�A�̾ڧڭ̪��d�һ����A�ڭ̻ݭn�]�w���O blocks �� soft/hard �A�ܩ� inode �h���n�h��ʥL�I�]���W�z���e���ڭ̱N�L�令�p�U���ҼˡG

�b edquota ���e�����A�C�@��u�n�O���C�����N�i�H�F�A�ä��ݭn�ƦC������I
Disk quotas for user myquota1 (uid 710):
  Filesystem    blocks    soft    hard  inodes  soft  hard
  /dev/hda3         80  250000  300000      10     0     0
# �����ϥ� 1000 �h��� 1024 �����ơI����n��աI�M��N�i�H�x�s�����}�o�I

�]�w��������A�ڭ��٦���L 5 �ӥΤ�n�]�w�A�ѩ�]�w�ȳ��@�ˡA���ɥi�H�ϥ� quota �ƻs��I

# �N myquota1 ������Ƚƻs����L�|�ӱb��
[root@www ~]# edquota -p myquota1 -u myquota2
[root@www ~]# edquota -p myquota1 -u myquota3
[root@www ~]# edquota -p myquota1 -u myquota4
[root@www ~]# edquota -p myquota1 -u myquota5

�o�˴N��K�h�F�I�M��A������@�U�s�ժ� quota ���B�a�I

[root@www ~]# edquota -g myquotagrp
Disk quotas for group myquotagrp (gid 713):
  Filesystem    blocks    soft     hard  inodes  soft  hard
  /dev/hda3        400  900000  1000000      50     0     0
# �O�o�A��쬰 KB ��I

�̫�A�N�e���ɶ����L�令 14 �ѧa�I

# �e���ɶ��쥻�� 7 �ѡA�N�L�令 14 �ѧa�I
[root@www ~]# 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/hda3                14days                  7days
# �쥻�O 7days �A�ڭ̱N�L���אּ 14days ��I

�z�L�o��²�檺�p�B�J�A�ڭ̤w�g�N�ϥΪ�/�s��/�e���ɶ����]�w�����I���U�ӴN�O�[��쩳�]�w���S���ͮİաI


��@ Quota �y�{-4�GQuota ����Ȫ�����

quota �������D�n����ؼҦ��A�@�جO�w��C�ӭӤH�θs�ժ� quota ���O�A�@�ӬO�w�����ɮרt�Ϊ� repquota ���O�C �ڭ̥��q��²�檺 quota �Ӥ��СI�A�]�i�H���D�ݬݧA���]�w�ȹ藍��ڡI


[root@www ~]# quota [-uvs] [username]
[root@www ~]# quota [-gvs] [groupname]
�ﶵ�P�ѼơG
-u  �G�᭱�i�H�� username �A������ܥX�ӨϥΪ̪� quota ����ȡC�Y���� username 
      �A������ܥX����̪� quota ����ȡC
-g  �G�᭱�i�� groupname �A������ܥX�Ӹs�ժ� quota ����ȡC
-v  �G��ܨC�ӥΤ�b filesystem �� quota �ȡF
-s  �G�ϥ� 1024 �����ƨӫ��w���A�|��ܦp M ���������I

# �����ϥ� quota �h��ܥX myquota1 �P myquota2 �����B
[root@www ~]# quota -uvs myquota1 myquota2
Disk quotas for user myquota1 (uid 710):
   Filesystem  blocks  quota  limit   grace   files   quota   limit   grace
    /dev/hda3      80   245M   293M              10       0       0
Disk quotas for user myquota2 (uid 711):
   Filesystem  blocks  quota  limit   grace   files   quota   limit   grace
    /dev/hda3      80   245M   293M              10       0       0
# �o�ӫ��O��ܥX�Ӫ���Ƹ� edquota �X�G�O�@�Ҥ@�˪��I�u�O�h�F�� grace ���ءC
# �A�|�o�{ grace ���U�S�������ơA�o�O�]���ڭ̪��ϥζq (80) �|���W�L soft

# ��ܥX myquotagrp ���s�խ��B
[root@www ~]# quota -gvs myquotagrp
Disk quotas for group myquotagrp (gid 713):
   Filesystem  blocks  quota  limit   grace   files   quota   limit   grace
    /dev/hda3     400   879M   977M              50       0       0

�ѩ�ϥα`���� K, M, G ��������n��A�]���W�Y�ڭ̨ϥΤF�y -s �z���ﶵ�A�N����H M �������ܤF�C ���L�ѩ�ڭ̨ϥ� edquota �]�w���B�ɡA�ϥΪ��O����� (1000) �Ӥ��O��ڪ� 1024 ���ơA �ҥH�ݰ_�ӷ|���I���Ӥ@�˳�I�ѩ� quota �ȯ�w��Y�ǥΤ���ܳ����A�p�G�n�w���� filesystem �C�X�����ɡA ���ӥi�R�� repquota �N���W�γ��աI


[root@www ~]# repquota -a [-vugs]
�ﶵ�P�ѼơG
-a  �G������ /etc/mtab �j�M�㦳 quota �лx�� filesystem �A�ó��i quota �����G�F
-v  �G��X����ƱN�t�� filesystem �������ӳ���T�F
-u  �G��ܥX�ϥΪ̪� quota ���� (�o�O�w�]��)�F
-g  �G��ܥX�ӧO�s�ժ� quota ���ȡC
-s  �G�ϥ� M, G �������ܵ��G

# �d�ߥ��רҤ��Ҧ��ϥΪ̪� quota ����p�G
[root@www ~]# repquota -auvs
*** Report for user quotas on device /dev/hda3    <==�w�� /dev/hda3
Block grace time: 14days; Inode grace time: 7days <==block �e���ɶ��� 14 ��
                        Block limits                File limits
User            used    soft    hard  grace    used  soft  hard  grace
----------------------------------------------------------------------
root      --    651M       0       0              5     0     0
myquota1  --      80    245M    293M             10     0     0
myquota2  --      80    245M    293M             10     0     0
myquota3  --      80    245M    293M             10     0     0
myquota4  --      80    245M    293M             10     0     0
myquota5  --      80    245M    293M             10     0     0

Statistics:  <==�o�O�ҿת��t�ά�����T�A�� -v �~�|���
Total blocks: 9
Data blocks: 2
Entries: 22
Used average: 11.000000

�ھڳo�Ǹ�T�A�z�N�i�H���D�ثe������p�o�I ^_^�I��ˡA Quota ��²��a�I�A�i�H����w��A���t�γ]�w�@�U�ϺШϥΪ��W�h�A���A���Τᤣ�|���ϺЫ��ѬO�Q�ӥ��I


��@ Quota �y�{-5�G���ջP�޲z

Quota �쩳���S���ĪG�H���լݬݤ��N���D�F�H���ڭ̨ϥ� myquota1 �h���լݬݡA�p�G�إߤ@�Ӥj�ɮ׮ɡA ��Өt�η|�K��˩O�H

# ���դ@�G�Q�� myquota1 �������A�ظm�@�� 270MB ���j�ɮסA���[�� quota ���G�I
[myquota1@www ~]$ dd if=/dev/zero of=bigfile bs=1M count=270
hda3: warning, user block quota exceeded.
270+0 records in
270+0 records out
283115520 bytes (283 MB) copied, 3.20282 seconds, 88.4 MB/s
# �`�N�ݡA�ڬO�ϥ� myquota1 ���b���h�i�� dd ���O����I���n�c�d�ڡI
# �M��A�i�H�o�{�X�{�@�� warning ���T����I���U�Ӭݬݳ����C

[root@www ~]# repquota -auv 
*** Report for user quotas on device /dev/hda3
Block grace time: 14days; Inode grace time: 7days
                        Block limits                File limits
User            used    soft    hard  grace    used  soft  hard  grace
----------------------------------------------------------------------
myquota1  +-  276840  250000  300000 13days      11     0     0
# �o�ӫ��O�h�O�Q�� root �h�d�\���I
# �A�i�H�o�{ myquota1 �� grace �X�{�I�åB�}�l�˼ƤF�I

# ���դG�G�A�إߥt�~�@�Ӥj�ɮסA���`�e�q�W�L 300M �I
[myquota1@www ~]$ dd if=/dev/zero of=bigfile2 bs=1M count=300
hda3: write failed, user block limit reached.
dd: writing `bigfile2': Disk quota exceeded <==�ݡI���~�T�����@�ˤF�I
23+0 records in  <==�S��k�g�J�F�I�ҥH�u�O�� 23 ��
22+0 records out
23683072 bytes (24 MB) copied, 0.260081 seconds, 91.1 MB/s

[myquota1@www ~]$ du -sk
300000  .  <==�G�M�O�췥���F�I

���� myquota1 �i�H�}�l�B�z�L���ɮרt�ΤF�I�p�G���B�z���ܡA�̫�e���ɶ��|�k�s�A�M��X�{�p�U���e���G

[root@www ~]# repquota -au
*** Report for user quotas on device /dev/hda3
Block grace time: 00:01; Inode grace time: 7days
                        Block limits                File limits
User            used    soft    hard  grace    used  soft  hard  grace
----------------------------------------------------------------------
myquota1  +-  300000  250000  300000   none      11     0     0
# �˼ƾ���k�s�A�ҥH grace �������N�|�ܦ� none �աI���~��˼�

���˼��k�s�]���|������S�����N�~�աI�O��ߡI�u�O�p�G�A���ϺШϥζq���� soft/hard �����ɡA ���˼��k�s���� soft ���ȷ|�ܦ��Y�歭��A���ɧA�N�S���h�l���e�q�i�H�ϥΤF�C�p��ѨM�H �N�n�J�t�Υh�R���ɮקY�i�աI�S���Q��������i�ȰաI���D�O�A�ϥΪ̳q�`�̶̤����M���쩳�t�ΥX�F������D�A �ҥH�ڭ̥i��ݭn�H�e�@��ĵ�i�H (email) ���Τ��������C����p��B�z�O�H�z�L warnquota �ӳB�m�Y�i�C


warnquota�r���W���N�q�N�O quota ��ĵ�i (warn) ���I����o�F�観����ΩO�H�L�i�H�̾� /etc/warnquota.conf ���]�w�A�M���X�ثe�t�ΤW�� quota �ζq�W�L soft (�N�O�� grace time �X�{�����dzå�) ���b���A�z�L email ���\��Nĵ�i�H��o�e��ϥΪ̪��q�l�l��H�c�C warnquota �ä��|�۰ʰ���A�ҥH�ڭ̻ݭn��ʥh����L�C��°���y warnquota �z����A�L�|�o�e��ʫH�X�h�A �@�ʵ� myquota1 �@�ʵ� root �I

[root@www ~]# warnquota
# �������|�X�{����T���I�S���T���N�O�y�n�T���z�I ^_^

[root@www ~]# mail
 N329 root@www.vbird.tsai   Fri Mar  6 16:10  27/1007  "NOTE: ....
& 329   <==�]���s�H��b�� 329 �ʤ��G
From root@www.vbird.tsai  Fri Mar  6 16:10:18 2009
Date: Fri, 6 Mar 2009 16:10:17 +0800
From: root <root@www.vbird.tsai>
Reply-To: root@myhost.com
Subject: NOTE: You are exceeding your allocated disk space limits
To: myquota1@www.vbird.tsai
Cc: root@www.vbird.tsai   <==�`�N�o�T��A���O�O���D�B����̻P�ƥ� (CC)�C

Your disk usage has exceeded the agreed limits on this server <==���D����
Please delete any unnecessary files on following filesystems:

/dev/hda3  <==���U�o�X�欰�o�ͺϺСy�z���z����T�աI
                        Block limits               File limits
Filesystem           used    soft    hard  grace    used  soft  hard  grace
/dev/hda3      +-  300000  250000  300000 13days      12     0     0

root@localhost  <==�o�ӬOĵ�i�T���o�e�̪��yñ�W��ơz�աI

& exit  <==���} mail �{���I

���� warnquota �i��]���|���ͥ���T���H�ΫH��A�]���u�����ϥΪ̪� quota ���W�L soft �ɡA warnquota �~�|�o�eĵ�i�H�աI����W�������e���A�]�A���D�B��T���e�����Bñ�W�ɵ���Ʃ�b���̩O�H ��褣�O���L�ܡH /etc/warnquota �աI�]���W�z����ƬO�^��A���n�z�ѶܡH�S���Y�A�A�i�H�ۤv�ন�����I �ҥH�A�i�H�o�˳B�z���G

[root@www ~]# vi /etc/warnquota.conf
# ����쩳�U�o�X�檺�]�w�ȡG
SUBJECT   = NOTE: You are exceeding your allocated disk space limits <==��10��
CC_TO     = "root@localhost"                                         <==��11��
MESSAGE   = Your disk usage has exceeded the agreed limits\          <==��21��
 on this server|Please delete any unnecessary files on following filesystems:|
SIGNATURE = root@localhost                                           <==��25��

# �i�H�N�L�令�p�U���Ҽ˰ڡI
SUBJECT   = �`�N�G�A�b���t�ΤW�֦����ɮ׮e�q�w�g�W�L�̤j�e�\���B
CC_TO     = "root@localhost"  <==���D�A�n�H����L�H�A�_�h�o�Ӷ��إi�H����
MESSAGE   = �A���ϺЮe�q�w�g�W�L�������e�\���B�A|\
  �Цb�p�U���ɮרt�Τ��A�R�������n���ɮסG|
SIGNATURE = �A���t�κ޲z�� (root@localhost)
# �b MESSAGE ���� | �N���_�檺�N��A�ϱ׽u�h�N���s���U�@��F

�p�G�A���ư��� warnquota �A���� myquota1 �N�|���������p�U���H�󤺮e�G

Subject: �`�N�G�A�b���t�ΤW�֦����ɮ׮e�q�w�g�W�L�̤j�e�\���B
To: myquota1@www.vbird.tsai
Cc: root@www.vbird.tsai

�A���ϺЮe�q�w�g�W�L�������e�\���B�A
  �Цb�p�U���ɮרt�Τ��A�R�������n���ɮסG

/dev/hda3

Filesystem           used    soft    hard  grace    used  soft  hard  grace
/dev/hda3      +-  300000  250000  300000   none      11     0     0

�A���t�κ޲z�� (root@localhost)

���L�o�Ӥ�k�ä��A�Φb /var/spool/mail �]�z���� quota ���ޤ��A�]���p�G�ϥΪ̦b�o�� filesystem ���e�q�w�g�z���A����s���H����M�N�����U�ӰաI���ɴN�u�൥�ݨϥΪ̦ۤv�o�{�ö]�ӳo�̧R����ơA �Ϊ̬O�ШD root �����B�z�o�I���D�F�o���N��o��n�ΡA����ڭ̫�����t�Φ۰ʪ����� warnquota �O�H �A�i�H�o�˰��G

[root@www ~]# vi /etc/cron.daily/warnquota
/usr/sbin/warnquota
# �A�S���ݿ��I�u�n�o�@��A�B�N�����ɥH������|���覡�g�J�Y�i�I

[root@www ~]# chmod 755 /etc/cron.daily/warnquota

���򥼨ӨC�Ѧ��W 4:02am �ɡA�o���ɮ״N�|�D�ʳQ����A����t�δN����D�ʪ��q���Ϻаt�B�z�����Τ��o�I �z�@�@�I�o���N��O�_�ܦn�ΰڡI�ܩ󬰦�n�g�J�W�z���ɮשO�H�d�ݤU�@���u�@�Ƶ{�ɧڭ̦A�ӥ[�j�����o�I


�p�G�A�Q�n�ϥ� script ����k�ӫإߤj�q���b���A�åB�Ҧ����b�����b�إ߮ɴN���� quota �A���Ӧp��O�n�H ��꦳��Ӥ�k�i�H�Ҽ{�G

���P�� edquota �O�I�s vi �Ӷi��]�w�Asetquota �����ѫ��O��J�ҥ����n���U������ȡC �L���y�k���I���o�ˡG

[root@www ~]# setquota [-u|-g] �W�� block(soft) block(hard) \
>  inode(soft) inode(hard) �ɮרt��

# �[���l�� myquota5 ���ȡA�õ��� soft/hard ���O�� 100000/200000
[root@www ~]# quota -uv myquota5
Disk quotas for user myquota5 (uid 714): 
   Filesystem blocks  quota  limit  grace files  quota  limit  grace
    /dev/hda3     80 250000 300000           10      0      0

[root@www ~]# setquota -u myquota5 100000 200000 0 0 /home

[root@www ~]# quota -uv myquota5
Disk quotas for user myquota5 (uid 714): 
   Filesystem blocks  quota  limit  grace files  quota  limit  grace
    /dev/hda3     80 100000 200000           10      0      0
# �ݧa�I�u�������ܹL�ӡI�o�N�O quota ��²��}���]�w�y�k�I


����ʬJ���t�Ϊ� quota ���

�Q�@�Q�A�p�G�A���D������S���Q��n�]�w�����l��D���A�ҥH�èS���W���N�l��H�c�Ҧb�� /var/spool/mail/ �ؿ��W�ߦ����@�� partition �A�M��ثe�A���D���w�g�S����k�s�W�Τ��ΥX����s�����μѤF�C���ڭ̪��D quota �O�w���� filesystem �i��]�p���A�]���A�A�O�_�N�L�k�w�� mail ���ϥζq���� quota ������O�H

���~�A�p�G�A�Q�n���ϥΪ̪��l��H�c�P�a�ؿ����`��ϺШϥζq���T�w�A���S�Ӧp��O�n�H �ѩ� /home �� /var/spool/mail �ڥ����i��O�P�@�� filesystem (���D�O�������ΡA�ϥήڥؿ��A�~���i���X�b�@�_)�A �ҥH�A�Ӧp��i��o�˪� quota ����O�H

���S���������աI�J�M quota �O�w���� filesystem �Ӷi�歭��A���]�A�S�w�g�� /home �o�ӿW�ߪ����μѤF�A ����A�u�n�G

  1. �N /var/spool/mail �o�ӥؿ����㪺���ʨ� /home ���U�F
  2. �Q�� ln -s /home/mail /var/spool/mail �ӫإ߳s����ơF
  3. �N /home �i�� quota ���B�]�w

�u�n�o�˪��@�Ӥp�B�J�A�K�K�I�z�a�D�����l��N���@�w�����B�o�I���M�o�I�z�]�i�H�̾ڤ��P���ϥΪ̻P�s�ըӳ]�w quota �M��P�˪��H�W�����覡�Ӷi�� link ���ʧ@�I�K�K�K�I�N�����P�����B�w�藍�P���ϥΪ̴��X�o�I�ܤ�K�a�I ^_^

�B�̻ͭݭn�`�N���O�A�ѩ�ثe�s�� distributions �j�h���ϥ� SELinux ������A �]���A�n�i��p�P�W�����ؿ��h���ɡA�b�\�h���p�U�i��|���ϥΤW�������I�γ\�A�o�n���Ȯ����� SELinux �~����աA �]�γ\�A�o�n�ۦ�ק� SELinux ���W�h�~���I

�n��Ϻа}�C (Software RAID)

�b�L�h�����٦~�����ɥN�A�ڭ̯�ϥΪ��w�Юe�q�����j�A�X�Q GB ���e�q�N�O�j�w�ФF�I���O�Y�DZ��p�U�A�ڭ̻ݭn�ܤj�e�q���x�s�Ŷ��A �Ҧp�����b�]���Ů�~��Ҧ��ҿ�X������ɮפ@�Ӯרҳq�`�ݭn�n�X GB �A�s��]�ӴX�ӮרҡA�ϺЮe�q�N�����ΤF�C ���ɧڸӦp��O�n�H���i�H�z�L�@���x�s����A�٬��Ϻа}�C (RAID) ���N�O�F�C�o�ؾ���\��O����H�L�����ǵ��šH����O�w��B�n��Ϻа}�C�HLinux �䴩����˪��n��Ϻа}�C�H ���U�N���ڭ̨ӽͽ͡I


����O RAID

�Ϻа}�C���W�O�y Redundant Arrays of Inexpensive Disks, RAID �z�A�^½�����N��O�G�e�����G���Ϻа}�C�C RAID �i�H�z�L�@�ӧ޳N(�n��εw��)�A�N�h�Ӹ��p���Ϻо�X�����@�Ӹ��j���Ϻи˸m�F �ӳo�Ӹ��j���ϺХ\��i����O�x�s�Ӥw�A�L�٨㦳��ƫO�@���\��O�C��� RAID �ѩ��ܪ����� (level) ���P�A�Өϱo��X�᪺�ϺШ㦳���P���\��A �򥻱`���� level ���o�X��(��1)�G

�o�ؼҦ��p�G�ϥάۦP�����P�e�q���ϺШӲզ��ɡA�ĪG���ΡC�o�ؼҦ��� RAID �|�N�ϺХ����X���q���϶� (�|�Ҩӻ��A 4KB)�A �M����@���ɮ׭n�g�J RAID �ɡA���ɮ׷|�̾ڰ϶����j�p���Φn�A����A�̧ǩ��U�ӺϺи̭��h�C�ѩ�C�ӺϺз|������s���ơA �]�����A����ƭn�g�J RAID �ɡA��Ʒ|�Q���q����m�b�U�ӺϺФW���C�|�Ҩӻ��A�A�������Ϻвզ� RAID-0 �A ���A�� 100MB ����ƭn�g�J�ɡA�C�ӺϺз|�U�Q���t�� 50MB ���x�s�q�CRAID-0 ���ܷN�Ϧp�U�ҥܡG

 RAID-0 ���Ϻмg�J�ܷN��
�� 2.1.1�B RAID-0 ���Ϻмg�J�ܷN��

�W�Ϫ��N��O�A�b�զ� RAID-0 �ɡA�C���Ϻ� (Disk A �P Disk B) ���|���Q�Ϲj�����p�϶� (chunk)�C ������ƭn�g�J RAID �ɡA��Ʒ|���Q���Φ��ŦX�p�϶����j�p�A�M��A�̧Ǥ@�Ӥ@�Ӫ���m�줣�P���ϺХh�C �ѩ��Ƥw�g���Q���ΨåB�̧ǩ�m�줣�P���ϺФW���A�]���C���ϺЩҭt�d����ƶq�����C�F�I�ӳo�˪����p�ӬݡA �V�h���Ϻвզ��� RAID-0 �į�|�V�n�A�]���C���t�d����ƶq�N��C�F�I �o���ܧڪ���ƥi�H�������h���ϺШ��x�s�A���M�į�|�ܪ���n�ڡI���~�A�Ϻ��`�e�q�]�ܤj�F�I �]���C���ϺЪ��e�q�̲׷|�[�`���� RAID-0 ���`�e�q��I

�u�O�ϥΦ����ŧA�����n�ۦ�t���Ʒl�������I�A�ѤW�ϧڭ̪��D�ɮ׬O�Q���Φ����A�X�C���ϺФ��ΰ϶����j�p�A �M��A�̧ǩ�m��U�ӺϺФ��C�Q�@�Q�A�p�G�Y�@���Ϻзl���F�A�����ɮ׸�ƱN�ʤ@���A���ɳo���ɮ״N�l���F�C �ѩ�C���ɮ׳��O�o�˦s�񪺡A�]�� RAID-0 �u�n������@���Ϻзl���A�b RAID �W�����Ҧ���Ƴ��|�򥢦ӵL�kŪ���C

�t�~�A�p�G�ϥΤ��P�e�q���ϺШӲզ� RAID-0 �ɡA�ѩ��ƬO�@�����q���̧ǩ�m�줣�P�ϺФ��A���p�e�q�ϺЪ��϶��Q�Χ��F�A ����Ҧ�����Ƴ��N�Q�g�J��̤j�������ϺХh�C�|�Ҩӻ��A�ڥ� 200G �P 500G �զ� RAID-0 �A ����̪쪺 400GB ��ƥi�P�ɼg�J�����Ϻ� (�U���� 200G ���e�q)�A��ӦA�[�J����ƴN�u��g�J 500G �������ϺФ��F�C ���ɪ��į�N�ܮt�F�A�]���u�ѤU�@���i�H�s���ƹ��I

�o�ؼҦ��]�O�ݭn�ۦP���ϺЮe�q���A�̦n�O�@�Ҥ@�˪��ϺаաI�p�G�O���P�e�q���Ϻвզ� RAID-1 �ɡA�����`�e�q�N�H�̤p�����@���ϺЬ��D�I�o�ؼҦ��D�n�O�y���P�@����ơA���㪺�O�s�b�����ϺФW�Y�z�C�|�Ҩӻ��A�p�G�ڦ��@�� 100MB ���ɮסA�B�ڶȦ������Ϻвզ� RAID-1 �ɡA ����o�����ϺбN�|�P�B�g�J 100MB ��L�̪��x�s�Ŷ��h�C �]���A���� RAID ���e�q�X�G�֤F 50%�C�ѩ�����w�Ф��e�@�Ҥ@�ˡA�n����l�M�ӥX�Ӥ@�ˡA �ҥH�ڭ̤]�٥L�� mirror �Ҧ��o��

 RAID-1 ���Ϻмg�J�ܷN��
�� 2.1.2�B RAID-1 ���Ϻмg�J�ܷN��

�p�W�ϩҥܡA�@����ƶǰe�� RAID-1 ����|�Q������ѡA�ä��O�g�J��U�ӺϺи��Y�h�C �ѩ�P�@����Ʒ|�Q���O�g�J���L���P�ϺСA�]���p�G�n�g�J 100MB �ɡA��ƶǰe�� I/O �׬y�ƫ�|�Q�ƻs�h����U�ӺϺСA ���G�N�O��ƶq�Pı�ܤj�F�I�]���b�j�q�g�J RAID-1 �����p�U�A�g�J���į�i��|�ܪ��D�`�t (�]���ڭ̥u���@�ӫn���ڡI)�C �n�b�p�G�A�ϥΪ��O�w�� RAID (�Ϻа}�C�d) �ɡA�Ϻа}�C�d�|�D�ʪ��ƻs�@���Ӥ��ϥΨt�Ϊ� I/O �׬y�ơA�į�譱�h�٥i�H�C �p�G�ϥγn��Ϻа}�C�A�i��į�N���n�F�C

�ѩ�����ϺФ�����Ƥ@�Ҥ@�ˡA�ҥH����@���w�зl���ɡA�A������٬O�i�H���㪺�O�d�U�Ӫ��I �ҥH�ڭ̥i�H���A RAID-1 �̤j���u�I�j���N�b���ƪ��ƥ��a�I���L�ѩ�ϺЮe�q���@�b�Φb�ƥ��A �]���`�e�q�|�O�����ϺЮe�q���@�b�Ӥw�C���M RAID-1 ���g�J�įण�ΡA���LŪ�����į�h�٥i�H�աI�o�O�]����Ʀ�����b���P���ϺФW���A�p�G�h�� processes �bŪ���P�@����ƮɡA RAID �|�ۦ���o�̨Ϊ�Ū�����šC

RAID-0 ���į�Φ��O��Ƥ��w���ARAID-1 ����Ʀw�����O�įण�ΡA����ण��N�o��̾�X�_�ӳ]�w RAID �O�H �i�H�ڡI���N�O RAID 0+1 �� RAID 1+0�C�ҿת� RAID 0+1 �N�O�G (1)���������Ϻвզ� RAID 0�A�åB�o�˪��]�w�@����աF (2)�N�o��� RAID 0 �A�զ��@�� RAID 1�C�o�N�O RAID 0+1 �o�I�ϹL�ӻ��ARAID 1+0 �N�O���զ� RAID-1 �A�զ� RAID-0 ���N��C

 RAID-0+1 ���Ϻмg�J�ܷN��
�� 2.1.3�B RAID-0+1 ���Ϻмg�J�ܷN��

�p�W�ϩҥܡADisk A + Disk B �զ��Ĥ@�� RAID 0�ADisk C + Disk D �զ��ĤG�� RAID 0�A �M��o��զA��X�����@�� RAID 1�C�p�G�ڦ� 100MB ����ƭn�g�J�A�h�ѩ� RAID 1 �����Y�A ��� RAID 0 ���|�g�J 100MB�A���ѩ� RAID 0 �����Y�A�]���C���Ϻжȷ|�g�J 50MB �Ӥw�C �p���@�Ӥ��׭��@�� RAID 0 ���Ϻзl���A�u�n�t�~�@�� RAID 0 �٦s�b�A����N����z�L RAID 1 ������Ӧ^�_��ơC

�ѩ�㦳 RAID 0 ���u�I�A�ҥH�į�o�H���ɡA�ѩ�㦳 RAID 1 ���u�I�A�ҥH��Ʊo�H�ƥ��C ���O�]�ѩ� RAID 1 �����I�A�ҥH�`�e�q�|�֤@�b�ΨӰ����ƥ���I

RAID-5 �ܤֻݭn�T���H�W���ϺФ~����զ��o���������Ϻа}�C�C�o�غϺа}�C����Ƽg�J���I���� RAID-0 �A ���L�C�Ӵ`�����g�J�L�{���A�b�C���Ϻ��٥[�J�@�ӦP���ˬd��� (Parity) �A�o�Ӹ�Ʒ|�O����L�ϺЪ��ƥ���ơA �Ω�����Ϻзl���ɪ��ϴ��CRAID-5 Ū�g�����p���I�����U�o�ˡG

 RAID-5 ���Ϻмg�J�ܷN��
�� 2.1.4�B RAID-5 ���Ϻмg�J�ܷN��

�p�W�ϩҥܡA�C�Ӵ`���g�J�ɡA���|���������P���ˬd�X (parity) �Q�O���_�ӡA�åB�O�����P���ˬd�X�C�����O���b���P���ϺСA �]���A����@�ӺϺзl���ɳ�����ǥѨ�L�ϺЪ��ˬd�X�ӭ��ح쥻�ϺФ�����Ƴ�I���L�ݭn�`�N���O�A �ѩ󦳦P���ˬd�X�A�]�� RAID 5 ���`�e�q�|�O����Ϻмƶq��@���C�H�W�Ϭ��ҡA �쥻�� 3 ���ϺХu�|�ѤU (3-1)=2 ���ϺЪ��e�q�C�ӥB���l�����Ϻмƶq�j�󵥩�����ɡA�o��� RAID 5 ����ƴN�l���F�C �]�� RAID 5 �w�]�ȯ�䴩�@���ϺЪ��l�����p�C

�bŪ�g�į઺����W�AŪ�����į��٤���I�P RAID-0 ������I���L�g���į�N�����o����W�[�ܦh�I �o�O�]���n�g�J RAID 5 ������ٱo�n�g�L�p��P���ˬd�X (parity) �����Y�C�ѩ�[�W�o�ӭp�⪺�ʧ@�A �ҥH�g�J���į�P�t�Ϊ��w�����Y���j�I�ר���ϥγn��Ϻа}�C�ɡA�P���ˬd�X�O�z�L CPU �h�p��ӫD�M¾���Ϻа}�C�d�A �]���į�譱�ٻݭn�����C

�t�~�A�ѩ� RAID 5 �ȯ�䴩�@���ϺЪ��l���A�]������٦��o�i�X�t�~�@�ص��šA�N�O RAID 6 �A�o�� RAID 6 �h�ϥΨ����ϺЪ��e�q�@�� parity ���x�s�A�]�����骺�ϺЮe�q�N�|�֨����A���O���\�X�����Ϻмƶq�N�i�H�F������F�I �]�N�O�b RAID 6 �����p�U�A�P�ɨ����Ϻзl���ɡA����٬O�i�H�Ϧ^�ӡI

���Ϻа}�C���Ϻзl���ɡA�N�o�n�N�a�����ϺЩް��A�M�ᴫ�@���s���ϺСC�����s�ϺШåB���Q�ҰʺϺа}�C��A �Ϻа}�C�N�|�}�l�D�ʪ����� (rebuild) �쥻�a���������Ϻи�ƨ�s���ϺФW�I�M��A�Ϻа}�C�W������ƴN�_��F�I �o�N�O�Ϻа}�C���u�I�C���L�A�ڭ��٬O�o�n�ʤ�޴��w�СA���ɳq�`�o�n�����~��o�򰵡C

���F���t�Υi�H�Y�ɪ��b�a���w�ЮɥD�ʪ����ءA�]���N�ݭn�w�ƺϺ� (spare disk) �����U�C �ҿת� spare disk �N�O�@���Φh���S���]�t�b�쥻�Ϻа}�C���Ť����ϺСA�o���ϺХ��ɨä��|�Q�Ϻа}�C�ҨϥΡA ���Ϻа}�C������Ϻзl���ɡA�h�o�� spare disk �|�Q�D�ʪ��Զi�Ϻа}�C���A�ñN�a���������w�в��X�Ϻа}�C�I �M��ߧY���ظ�ƨt�ΡC�p���A���t�Ϋh�i�H�ëO�w�d�ڡI�Y�A���Ϻа}�C���䴩���޴����N�󧹬��F�I �����N�a���������ϺЩް����@���s���A�A�N�����s���]�w���� spare disk �A�N�����F�I

�|�Ҩӻ��A�������e�ҫݪ���s�Ǧ��@�ӺϺа}�C�i���\ 16 ���ϺЪ��ƶq�A���L�ڭ̥u�w�ˤF 10 ���ϺЧ@�� RAID 5�C �C���ϺЪ��e�q�� 250GB�A�ڭ̥ΤF�@���ϺЧ@�� spare disk �A�ñN��L�� 9 ���]�w���@�� RAID 5�A �]���o�ӺϺа}�C���`�e�q���G (9-1)*250G=2000G�C�B�@�F�@��~��u�����@���Ϻ��a���F�A�ڭ̫�ӬݿO���~�o�{�I ���L��t�ΨS���v�T�O�I�]�� spare disk �D�ʪ��[�J�䴩�A�a���������ޱ������s���A�í��s�]�w���� spare ��A �t�Τ�������٬O����L�ʪ��I�K�K�I�u�����I

�����f�j��A���I�b���̩O�H���A���t�Φp�G�ݭn�Ϻа}�C���ܡA��꭫�I�b��G

�ר��ƪ��i�a�ʻP����ʧ�O�ϥ� RAID ���Ҷq���I�I�����w���a�������N�n�F�A�n���Ʒl�����i���O�x�۪����I �ҥH���~�ɬ���ݭn�j�q�� RAID �Ӱ����ɮרt�Ϊ��w���ǡA�{�b�z���I�A�ѤF�a�H


software, hardware RAID

����Ϻа}�C�S�����w��P�n��O�H�ҿת��w��Ϻа}�C (hardware RAID) �O�z�L�Ϻа}�C�d�ӹF���}�C���ت��C �Ϻа}�C�d�W�����@���M���������b�B�z RAID �����ȡA�]���b�į�譱�|����n�C�b�ܦh���� (�Ҧp RAID 5 ���P���ˬd�X�p��) �Ϻа}�C�ä��|���Ʈ��ӭ쥻�t�Ϊ� I/O �׬y�ơA�z�פW�į�|���ΡC���~�ثe�@�몺�������Ϻа}�C�d���䴩���޴��A ��Y�b�����������p�U�⴫�l�a���ϺСA���t�Ϊ��_��P��ƪ��i�a�ʤ譱�D�`���n�ΡC

���L�@���n���Ϻа}�C�d�ʤ��ʴN�W�U���x���A�K�y���b�D���O�W���y���ءz���Ϻа}�C�\��i��S���䴩�Y�ǰ����\��A �Ҧp�C���D���O�Y���Ϻа}�C�����A�q�`�Ȥ䴩�� RAID0 �P RAID1 �A�������w�� RAID 5 �èS���䴩�C ���~�A�@�~�t�Τ]�����n�֦��Ϻа}�C�d���X�ʵ{���A�~������T������Ϻа}�C�Ҳ��ͪ��Ϻо��I

�ѩ�Ϻа}�C���ܦh�u�q���\��A�M�ӵw��Ϻа}�C�d�����S�Q���ܡ�]���N���o�i�X�Q�γn��Ӽ����Ϻа}�C���\��A �o�N�O�ҿת��n��Ϻа}�C (software RAID)�C�n��Ϻа}�C�D�n�O�z�L�n��Ӽ����}�C�����ȡA �]���|�l�Ӹ��h���t�θ귽�A��p�� CPU ���B��P I/O �׬y�ƪ��귽���C���L�ثe�ڭ̪��ӤH�q����b�w�g�D�`�ֳt�F�A �]���H�e���t�׭���{�b�w�g���s�b�I�ҥH�ڭ̥i�H�Ӫ��@���n��Ϻа}�C�I

�ڭ̪� CentOS ���Ѫ��n��Ϻа}�C�� mdadm �o�M�n��A�o�M�n��|�H partition �� disk ���ϺЪ�����A�]�N�O���A�A���ݭn�����H�W���ϺСA�u�n����ӥH�W�����μ� (partition) �N����]�p�A���Ϻа}�C�F�C���~�A mdadm �䴩���ڭ̫e�����쪺 RAID0/RAID1/RAID5/spare disk ���I �ӥB���Ѫ��޲z�����٥i�H�F���������޴����\��A�i�H�u�W (�ɮרt�Υ��`�ϥ�) �i����μѪ��⴫�I �ϥΤW�]�D�`����K�O�I

�t�~�A�����n���D���O�A�w��Ϻа}�C�b Linux ���U�ݰ_�ӴN�O�@����ڪ��j�ϺСA�]���w��Ϻа}�C���˸m�ɦW�� /dev/sd[a-p] �A�]���ϥΨ� SCSI ���Ҳդ��G�C�ܩ��n��Ϻа}�C�h�O�t�μ������A�]���ϥΪ��˸m�ɦW�O�t�Ϊ��˸m�ɡA �ɦW�� /dev/md0, /dev/md1...�A��̪��˸m�ɦW�ä��ۦP�I���n�d�V�F��I�]���ܦh�B�ͱ`�`ı�o�_�ǡA ���L�� RAID �ɦW��ڭ̳o�̴��ժ��n�� RAID �ɦW���P�A�ҥH�o�̯S�O�j�ջ�����I


�n��Ϻа}�C���]�w

�n��Ϻа}�C���]�w��²��O�I²������A�ܷQ����I�]���A�u�n�ϥΤ@�ӫ��O�Y�i�I���N�O mdadm �o�ӫ��O�C �o�ӫ��O�b�إ� RAID ���y�k���I���o�ˡG

[root@www ~]# mdadm --detail /dev/md0
[root@www ~]# mdadm --create --auto=yes /dev/md[0-9] --raid-devices=N \
> --level=[015] --spare-devices=N /dev/sdx /dev/hdx...
�ﶵ�P�ѼơG
--create �G���إ� RAID ���ﶵ�F
--auto=yes �G�M�w�إ߫᭱�����n��Ϻа}�C�˸m�A��Y /dev/md0, /dev/md1...
--raid-devices=N �G�ϥδX�ӺϺ� (partition) �@���Ϻа}�C���˸m
--spare-devices=N �G�ϥδX�ӺϺЧ@���ƥ� (spare) �˸m
--level=[015] �G�]�w�o�պϺа}�C�����šC�䴩�ܦh�A���L��ij�u�n�� 0, 1, 5 �Y�i
--detail �G�᭱�ұ������ӺϺа}�C�˸m���ԲӸ�T

�W�����y�k���A�̫᭱�|���\�h���˸m�ɦW�A�o�Ǹ˸m�ɦW�i�H�O�����ϺСA�Ҧp /dev/sdb �A �]�i�H�O���μѡA�Ҧp /dev/sdb1 �����C���L�A�o�Ǹ˸m�ɦW���`�ƥ����n���� --raid-devices �P --spare-devices ���Ӽ��`�M�~��I�����Q�Χڪ����վ��ӫظm�@�� RAID 5 ���n��Ϻа}�C���z�@�@�I �����A�N�t�θ̭��L�h�m�߹L�ӥثe�Τ��쪺���μѳq�q�R�����G

[root@www ~]# fdisk -l
Disk /dev/hda: 41.1 GB, 41174138880 bytes
255 heads, 63 sectors/track, 5005 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes

   Device Boot      Start         End      Blocks   Id  System
/dev/hda1   *           1          13      104391   83  Linux
/dev/hda2              14        1288    10241437+  83  Linux
/dev/hda3            1289        1925     5116702+  83  Linux
/dev/hda4            1926        5005    24740100    5  Extended
/dev/hda5            1926        2052     1020096   82  Linux swap / Solaris
/dev/hda6            2053        2302     2008093+  83  Linux
/dev/hda7            2303        2334      257008+  82  Linux swap / Solaris
/dev/hda8            2335        2353      152586   83  Linux
/dev/hda9            2354        2366      104391   83  Linux

[root@www ~]# df
Filesystem           1K-blocks      Used Available Use% Mounted on
/dev/hda2              9920624   3858800   5549756  42% /
/dev/hda1               101086     21408     74459  23% /boot
tmpfs                   371332         0    371332   0% /dev/shm
/dev/hda3              4956316   1056996   3643488  23% /home
# �q�W���i�H�o�{�A�ڪ� /dev/hda6~/dev/hda9 �S���Ψ�I�N�L�R���ݬݡI

[root@www ~]# fdisk /dev/hda
Command (m for help): d
Partition number (1-9): 9

Command (m for help): d
Partition number (1-8): 8

Command (m for help): d
Partition number (1-7): 7

Command (m for help): d
Partition number (1-6): 6

Command (m for help): p

Disk /dev/hda: 41.1 GB, 41174138880 bytes
255 heads, 63 sectors/track, 5005 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes

   Device Boot      Start         End      Blocks   Id  System
/dev/hda1   *           1          13      104391   83  Linux
/dev/hda2              14        1288    10241437+  83  Linux
/dev/hda3            1289        1925     5116702+  83  Linux
/dev/hda4            1926        5005    24740100    5  Extended
/dev/hda5            1926        2052     1020096   82  Linux swap / Solaris

Command (m for help): w

[root@www ~]# partprobe
# �o�Ӱʧ@�ܭ��n�I�ٰO�o�a�I�N�֤ߪ� partition table ��s�I

���U�O�����Ʊ氵���� RAID 5 ���ҡG

�̲קڻݭn 5 �� 1GB �� partition �C�ѩ󳾭����t�ζȦ��@���ϺСA�o���ϺгѾl�e�q�� 20GB �O���Ϊ��A ���μѥN���ȨϥΨ� 5 ���A�ҥH�n�s�@�� RAID 5 ���ӬO�������D�I���U�ӴN�O�s�򪺫ظm�y�{�o�I


�p�e�ҭz�A�ڻݭn 5 �� 1GB �����μѡA�ЧQ�� fdisk �ӫظm�a�I

[root@www ~]# fdisk /dev/hda
Command (m for help): n
First cylinder (2053-5005, default 2053): <==�������U [enter]
Using default value 2053
Last cylinder or +size or +sizeM or +sizeK (2053-5005, default 5005): +1000M
# �W�z���ʧ@�Ч@�����I

Command (m for help): p

Disk /dev/hda: 41.1 GB, 41174138880 bytes
255 heads, 63 sectors/track, 5005 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes

   Device Boot      Start         End      Blocks   Id  System
/dev/hda1   *           1          13      104391   83  Linux
/dev/hda2              14        1288    10241437+  83  Linux
/dev/hda3            1289        1925     5116702+  83  Linux
/dev/hda4            1926        5005    24740100    5  Extended
/dev/hda5            1926        2052     1020096   82  Linux swap / Solaris
/dev/hda6            2053        2175      987966   83  Linux
/dev/hda7            2176        2298      987966   83  Linux
/dev/hda8            2299        2421      987966   83  Linux
/dev/hda9            2422        2544      987966   83  Linux
/dev/hda10           2545        2667      987966   83  Linux
# �W���� 6~10 ���A�N�O�ڭ̻ݭn�� partition �o�I

Command (m for help): w

[root@www ~]# partprobe


���U�ӴN²��աI�z�L mdadm �ӫإߺϺа}�C���I

[root@www ~]# mdadm --create --auto=yes /dev/md0 --level=5 \
> --raid-devices=4 --spare-devices=1 /dev/hda{6,7,8,9,10}
# �ԲӪ��Ѽƻ����Ц^�h�e���ݬ��o�I�o�̧ڳz�L {} �N���ƪ�����²�ơI

[root@www ~]# mdadm --detail /dev/md0
/dev/md0:                                        <==RAID �˸m�ɦW
        Version : 00.90.03
  Creation Time : Tue Mar 10 17:47:51 2009       <==RAID �Q�إߪ��ɶ�
     Raid Level : raid5                          <==RAID ���Ŭ� RAID 5
     Array Size : 2963520 (2.83 GiB 3.03 GB)     <==�� RAID ���i�κϺЮe�q
  Used Dev Size : 987840 (964.85 MiB 1011.55 MB) <==�C�Ӹ˸m���i�ήe�q
   Raid Devices : 4                              <==�Χ@ RAID ���˸m�ƶq
  Total Devices : 5                              <==�������˸m�ƶq
Preferred Minor : 0
    Persistence : Superblock is persistent

    Update Time : Tue Mar 10 17:52:23 2009
          State : clean
 Active Devices : 4                              <==�Ұʪ�(active)�˸m�ƶq
Working Devices : 5                              <==�i�ʧ@���˸m�ƶq
 Failed Devices : 0                              <==�X�{���~���˸m�ƶq
  Spare Devices : 1                              <==�w�ƺϺЪ��ƶq

         Layout : left-symmetric
     Chunk Size : 64K      <==�N�O��2.1.4�����p�϶�

           UUID : 7c60c049:57d60814:bd9a77f1:57e49c5b <==���˸m(RAID)�ѧO�X
         Events : 0.2

    Number   Major   Minor   RaidDevice State
       0       3        6        0      active sync   /dev/hda6
       1       3        7        1      active sync   /dev/hda7
       2       3        8        2      active sync   /dev/hda8
       3       3        9        3      active sync   /dev/hda9

       4       3       10        -      spare   /dev/hda10
# �̫᤭��N�O�o���Ӹ˸m�ثe�����p�A�]�A�|�� active sync �@�� spare �I
# �ܩ� RaidDevice  �����h�O�� RAID �����Ϻж���

�ѩ�Ϻа}�C���ظm�ݭn�@�Ǯɶ��A�ҥH�A�̦n���ݼƤ�����A�ϥΡy mdadm --detail /dev/md0 �z�h�d�\�A���Ϻа}�C�ԲӸ�T�I �_�h���i��ݨ�Y�ǺϺХ��b�yspare rebuilding�z�������ظm�r�ˡI�z�L�W�������O�A �A�N����إߤ@�� RAID5 �B�t���@�� spare disk ���Ϻа}�C�o�I�D�`²��a�I ���F���O���~�A�A�]�i�H�d�\�p�U���ɮרӬݬݨt�γn��Ϻа}�C�����p�G

[root@www ~]# cat /proc/mdstat
Personalities : [raid6] [raid5] [raid4]
md0 : active raid5 hda9[3] hda10[4](S) hda8[2] hda7[1] hda6[0]    <==�Ĥ@��
      2963520 blocks level 5, 64k chunk, algorithm 2 [4/4] [UUUU] <==�ĤG��

unused devices: <none>

�W�z����Ƥ�����n���b�S�O���X���Ĥ@��P�ĤG�泡��(��2)�G

�o��ؤ�k���i�H���D�ثe���Ϻа}�C���A�աI


���U�ӴN�O�}�l�ϥή榡�Ƥu��աI�o�����N²����z�I���h���F�A�����i��a�I

[root@www ~]# mkfs -t ext3 /dev/md0
# ����a�I�O /dev/md0 �����˸m�Q�榡�ƩO�I

[root@www ~]# mkdir /mnt/raid
[root@www ~]# mount /dev/md0 /mnt/raid
[root@www ~]# df
Filesystem     1K-blocks      Used Available Use% Mounted on
/dev/hda2        9920624   3858820   5549736  42% /
/dev/hda1         101086     21408     74459  23% /boot
tmpfs             371332         0    371332   0% /dev/shm
/dev/hda3        4956316   1056996   3643488  23% /home
/dev/md0         2916920     69952   2698792   3% /mnt/raid
# �ݧa�I�h�F�@�� /dev/md0 ���˸m�A�ӥB�u���i�H���A�ϥΩO�I�٤���I


���� RAID ���~���ϴ��Ҧ�

�U�ܻ��y�Ѧ����������B�H�����i�׺֡z�A�֤]�����D�A���Ϻа}�C�����˸mԣ�ɷ|�X�t���A�]���A �A�Ѥ@�U�n��Ϻа}�C���ϴ��٬O�������I���U�ڭ̴N�Ӫ��@���ϴ�������a�I�������A�Ѥ@�U mdadm �o�譱���y�k�G

[root@www ~]# mdadm --manage /dev/md[0-9] [--add �˸m] [--remove �˸m] \
> [--fail �˸m] 
�ﶵ�P�ѼơG
--add �G�|�N�᭱���˸m�[�J��o�� md ���I
--remove �G�|�N�᭱���˸m�ѳo�� md ������
--fail �G�|�N�᭱���˸m�]�w�����X�������A


�����A�ڭ̨ӳB�z�@�U�A�Ӧp�����@�ӺϺ��ܦ����~�A�M���� spare disk �۰ʪ��}�l���بt�ΩO�H

# 0. ���ƻs�@�ǪF��� /mnt/raid �h�A���]�o�� RAID �w�g�b�ϥΤF
[root@www ~]# cp -a /etc /var/log /mnt/raid
[root@www ~]# df /mnt/raid ; du -sm /mnt/raid/*
Filesystem   1K-blocks      Used Available Use% Mounted on
/dev/md0       2916920    188464   2580280   7% /mnt/raid
118     /mnt/raid/etc <==�ݧa�I�T�꦳��Ʀb�̭���I
8       /mnt/raid/log
1       /mnt/raid/lost+found

# 1. ���] /dev/hda8 �o�Ӹ˸m�X���F�I��ڼ������覡�G
[root@www ~]# mdadm --manage /dev/md0 --fail /dev/hda8
mdadm: set /dev/hda8 faulty in /dev/md0

[root@www ~]# mdadm --detail /dev/md0
....(�e���ٲ�)....
          State : clean, degraded, recovering
 Active Devices : 3
Working Devices : 4
 Failed Devices : 1  <==�X�����ϺЦ��@�ӡI
  Spare Devices : 1
....(�����ٲ�)....
    Number   Major   Minor   RaidDevice State
       0       3        6        0      active sync   /dev/hda6
       1       3        7        1      active sync   /dev/hda7
       4       3       10        2      spare rebuilding   /dev/hda10
       3       3        9        3      active sync   /dev/hda9

       5       3        8        -      faulty spare   /dev/hda8
# �ݨ�S�I�o���ʧ@�n�ְ��~�|�ݨ�I /dev/hda10 �ҰʤF�� /dev/hda8 �����F

[root@www ~]# cat /proc/mdstat
Personalities : [raid6] [raid5] [raid4]
md0 : active raid5 hda9[3] hda10[4] hda8[5](F) hda7[1] hda6[0]
      2963520 blocks level 5, 64k chunk, algorithm 2 [4/3] [UU_U]
      [>.......]  recovery =  0.8% (9088/987840) finish=14.3min speed=1136K/sec

�W�����e���A�o�n�ֳt���s���J���� mdadm �����O�~�ݪ���I�]���A�� RAID 5 ���b���بt�ΡI �Y�A���ݤ@�q�ɶ��A��J�᭱���[����O�A�h�|�ݨ�p�U���e���F�G

# 2. �w�g�ǥ� spare disk ���ا����� RAID 5 ���p
[root@www ~]# mdadm --detail /dev/md0
....(�e���ٲ�)....
    Number   Major   Minor   RaidDevice State
       0       3        6        0      active sync   /dev/hda6
       1       3        7        1      active sync   /dev/hda7
       2       3       10        2      active sync   /dev/hda10
       3       3        9        3      active sync   /dev/hda9

       4       3        8        -      faulty spare   /dev/hda8

[root@www ~]# cat /proc/mdstat
Personalities : [raid6] [raid5] [raid4]
md0 : active raid5 hda9[3] hda10[2] hda8[4](F) hda7[1] hda6[0]
      2963520 blocks level 5, 64k chunk, algorithm 2 [4/4] [UUUU]

�ݧa�I�S��_���`�F�I�u�n�I�ڭ̪� /mnt/raid �ɮרt�άO���㪺�I�ä��ݭn�����I�ܴΧa�I


�����A�ڭ̦A�إߤ@�ӷs�����μѡA�o�Ӥ��μѭn�P��L���μѤ@�ˤj�~�n�I�M��A�Q�� mdadm �������~���å[�J�s���I

# 3. �إ߷s�����μ�
[root@www ~]# fdisk /dev/hda
Command (m for help): n
First cylinder (2668-5005, default 2668): <==�o�̫� [enter]
Using default value 2668
Last cylinder or +size or +sizeM or +sizeK (2668-5005, default 5005): +1000M

Command (m for help): w

[root@www ~]# partprobe
# ���ɨt�η|�h�@�� /dev/hda11 �����μѳ�I

# 4. �[�J�s���ް������D���Ϻ�
[root@www ~]# mdadm --manage /dev/md0 --add /dev/hda11 --remove /dev/hda8
mdadm: added /dev/hda11
mdadm: hot removed /dev/hda8

[root@www ~]# mdadm --detail /dev/md0
....(�e���ٲ�)....
       0       3        6        0      active sync   /dev/hda6
       1       3        7        1      active sync   /dev/hda7
       2       3       10        2      active sync   /dev/hda10
       3       3        9        3      active sync   /dev/hda9

       4       3       11        -      spare   /dev/hda11

�K�K�I�A���Ϻа}�C������Ƥ����@���s�b�A�ӥB�A�i�H�@�����Q���B�@ /mnt/raid ������ơA�Y�� /dev/hda8 �l���F�I�M��z�L�޲z���\��N����[�J�s�ϺХB�ް��a�����ϺСI�`�N�A�o�@�����O�b�W�u (on-line) �����p�U�i��I �ҥH�A�z���o�˪��N�N�n���n�ΰڡI ^_^


�}���۰ʱҰ� RAID �æ۰ʱ���

�s�� distribution �j�h�|�ۤv�j�M /dev/md[0-9] �M��b�}�����ɭԵ����]�w�n�һݭn���\��C���L�����٬O��ij�A�A �ק�@�U�]�w�ɧa�I ^_^�Csoftware RAID �]�O���]�w�ɪ��A�o�ӳ]�w�ɦb /etc/mdadm.conf �I�o�ӳ]�w�ɤ��e��²��A �A�u�n���D /dev/md0 �� UUID �N����]�w�o���ɮװաI�o�̳����Ȥ��ХL��²�檺�y�k�G

[root@www ~]# mdadm --detail /dev/md0 | grep -i uuid
        UUID : 7c60c049:57d60814:bd9a77f1:57e49c5b
# �᭱���@���ơA�N�O�o�Ӹ˸m�V�t�ε��U�� UUID �ѧO�X�I

# �}�l�]�w mdadm.conf
[root@www ~]# vi /etc/mdadm.conf
ARRAY /dev/md0 UUID=7c60c049:57d60814:bd9a77f1:57e49c5b
#     RAID�˸m      �ѧO�X���e

# �}�l�]�w�}���۰ʱ����ô���
[root@www ~]# vi /etc/fstab
/dev/md0    /mnt/raid    ext3    defaults     1 2

[root@www ~]# umount /dev/md0; mount -a
[root@www ~]# df /mnt/raid
Filesystem           1K-blocks      Used Available Use% Mounted on
/dev/md0               2916920    188464   2580280   7% /mnt/raid
# �A�o�T�w�i�H���Q�����A�åB�S���o�ͥ�����~�I

�p�G��o�̳��S���X�{������D�I���U�ӴN�� reboot �A���t�Ψõ��ݬݬݯ�_���Q���Ұʧa�I ^_^


�����n�� RAID(���n�I)

���D�A���ӴN�O�n�ϥγo�� software RAID (/dev/md0)�A�_�h�A�ե��n�򳾭��@�ˡA�N�o�� /dev/md0 �����I �]���L�����O�ڭ̦b�o�Ӵ��վ��W�����m�߸˸m�ڡI������n�����L�O�H�]���o�� /dev/md0 ����٬O�ϥΨ�ڭ̨t�Ϊ��ϺФ��μѡA �b�������Ҥl�̭��N�O /dev/hda{6,7,8,9,10,11}�A�p�G�A�u�O�N /dev/md0 �����A�M��ѰO�N RAID �����A ���G�N�O....���ӧA�b���s���� /dev/hdaX �ɥi��|�X�{�@�Dz��W�����~���p�աI�ҥH�~�ݭn���� software RAID ���B�J�I ���p�������O�H�]�O²����z���I(�Ъ`�N�A�T�{�A�� /dev/md0 �T�ꤣ�n�ΥB�n�����F�~�i�橳�U�����N��)

# 1. �������B�R���]�w�ɤ��P�o�� /dev/md0 �������]�w�G
[root@www ~]# umount /dev/md0
[root@www ~]# vi /etc/fstab
/dev/md0    /mnt/raid     ext3    defaults      1 2
# �N�o�@��R�����I�Ϊ̬O���ѱ��]�i�H�I

# 2. �������� /dev/md0 ����k�I
[root@www ~]# mdadm --stop /dev/md0
mdadm: stopped /dev/md0  <==���o���I�o�˴N�����F�I

[root@www ~]# cat /proc/mdstat
Personalities : [raid6] [raid5] [raid4]
unused devices: <none>  <==�ݧa�I�T�ꤣ�s�b����}�C�˸m�I

[root@www ~]# vi /etc/mdadm.conf
ARRAY /dev/md0 UUID=7c60c049:57d60814:bd9a77f1:57e49c5b
# �@�˰աI�R���L�άO���ѥL�I
�b�o�ӽm�ߤ��A�����ϥΦP�@���Ϻжi��n�� RAID ������C���L�B�̭ͭn�`�N���O�A�p�G�u���n��@�n��Ϻа}�C�A �̦n�O�Ѧh�����P���ϺШӲզ����ΡI�]���o�ˤ~����ϥΨ줣�P�ϺЪ�Ū�g�A�į�~�|�n�I �Ӹ�Ƥ��t�b���P���ϺСA���Y���Ϻзl���ɸ�Ƥ~����ǥѨ�L�ϺЮ��Ϧ^�ӡI�o�I�o�S�O�d�N�O�I

�޿豲�b�޲z�� (Logical Volume Manager)

�Q���@�ӱ��p�A�A�b����W���D�����ɭԱN /home �u���L 50G �A����ϥΪ̲��h����ɭP�o�� filesystem �����j�A ���ɧA����@�H�h�ƪ��B�ͳ��O�o�ˡG�A�[�@���s�w�СA�M�᭫�s���ΡB�榡�ơA�N /home ����Ƨ��㪺�ƻs�L�ӡA �M��N�쥻�� partition �������s�����s�� partition �C�ڡI�n���L�ڡI�Y�O�ĤG�����Ϋo�����e�q�Ӧh�I�ɭP�ܦh�ϺЮe�q�Q���O�F�I �A�Q�n�N�o�� partition �Y�p�ɡA�S�Ӧp��@�H�N�W�z���y�{�A�d�@�M�I����Ц��F�A�ר�ƻs�ܪ�ɶ����㦳�S����²�檺��k�O�H �����I���N�O�ڭ̳o�Ӥp�`�n���Ъ� LVM �o���N��I

LVM �����I�b��y�i�H�u�ʪ��վ� filesystem ���e�q�I�z�ӨëD�b��į�P��ƫO���W���C �ݭn�ɮת�Ū�g�į�Ϊ̬O��ƪ��i�a�ʡA�аѦҫe���� RAID �p�`�C LVM �i�H��X�h�ӹ��� partition �b�@�_�A ���o�� partitions �ݰ_�ӴN���O�@�ӺϺФ@�ˡI�ӥB�A�٥i�H�b���ӷs�W�β�����L������ partition ��o�� LVM �޲z���Ϻз����C �p���@�ӡA��ӺϺЪŶ����ϥΤW�A��b�O�۷����㦳�u�ʰڡI �J�M LVM �o��n�ΡA���N���ڭ̨��@�@�o���N�a�I


����O LVM�G PV, PE, VG, LV ���N�q

LVM �����W�O Logical Volume Manager�A����i�H½Ķ�@�޿豲�b�޲z���C���ҥH�٬��y���b�z�i��O�]���i�H�N filesystem �����b�@�˦������Y�u���G�a�ILVM ���@�k�O�N�X�ӹ��骺 partitions (�� disk) �z�L�n��զX�����@���ݰ_�ӬO�W�ߪ��j�Ϻ� (VG) �A�M��N�o���j�ϺЦA�g�L���Φ����i�ϥΤ��μ� (LV)�A �̲״N��������ϥΤF�C���O������o�˪��t�Υi�H�i�� filesystem ���X�R���Y�p�O�H���P�@�Ӻ٬� PE �����ئ����I ���U�ڭ̴N�o�n�w��o�X�Ӷ��بӦn�n���I

�ڭ̹�ڪ� partition �ݭn�վ�t���ѧO�X (system ID) ���� 8e (LVM ���ѧO�X)�A�M��A�g�L pvcreate �����O�N�L�ন LVM �̩��h�����鱲�b (PV) �A����~����N�o�� PV �[�H�Q�ΡI �վ� system ID ����O�N�O�z�L fdisk �աI

�ҿת� LVM �j�ϺдN�O�N�\�h PV ��X���o�� VG ���F��N�O�աI�ҥH VG �N�O LVM �զX�_�Ӫ��j�ϺСI�o��Q�N�n�F�C ����o�Ӥj�Ϻг̤j�i�H��h�֮e�q�O�H�o�P���U�n������ PE �H�� LVM ���榡�����������b�w�]�����p�U�A lvm2 �i��|�ϥ� lvm1 ���x�s�榡�A�Ӯ榡�� LV �̤j�ȯ�䴩�� 65534 PE �Ӥw�C �ҥH�A�p�G�ϥ� LVM �w�]���Ѽ� (CentOS 5.x 32 �줸�ϥ� lvm2 �n��Blvm1 �榡)�A�h�@�� VG �̤j�i�F 256GB ���e�q�ڡI(�Ѧҩ��U�� PE ����)

LVM �w�]�ϥ� 4MB �� PE �϶��A�� LVM �� LV �̦h�ȯ�t�� 65534 �� PE (lvm1 ���榡)�A�]���w�]�� LVM �� LV �|�� 4M*65534/(1024M/G)=256G�C�o�� PE �ܦ����I�L�O��� LVM �̤p���x�s�϶��A�]�N�O���A���ڭ̪��ɮ׸�Ƴ��O�ǥѼg�J PE �ӳB�z���C²�檺���A�o�� PE �N���I���ɮרt�θ̭��� block �j�p���C �o�˻����ӴN����n�z�ѤF�a�H�ҥH�վ� PE �|�v�T�� LVM ���̤j�e�q��I���L�A�b CentOS 6.x �H��A�ѩ󪽱��ϥ� lvm2 ���U���榡�\��A�]���o�ӭ���w�g���s�b�F�C

�̲ת� VG �ٷ|�Q���� LV�A�o�� LV �N�O�̫�i�H�Q�榡�ƨϥΪ��������μѪ��N�N�F�I���� LV �O�_�i�H�H�N���w�j�p�O�H ���M���i�H�I�J�M PE �O��� LVM ���̤p�x�s���A���� LV ���j�p�N�P�b�� LV ���� PE �`�Ʀ����C ���F��K�ϥΪ̧Q�� LVM �Ӻ޲z��t�ΡA�]�� LV ���˸m�ɦW�q�`���w���y /dev/vgname/lvname �z���˦��I

���~�A�ڭ̭�観�ͨ� LVM �i�u�ʪ��ܧ� filesystem ���e�q�A���O�p���쪺�H���L�N�O�z�L�y�洫 PE �z�Ӷi�����ഫ�A �N�쥻 LV ���� PE ������L�˸m���H���C LV �e�q�A�αN��L�˸m�� PE �[�즹 LV ���H�[�j�e�q�I VG�BLV �P PE �����Y���I���U�ϡG

PE �P VG �������ʹϥ�
�� 3.1.1�BPE �P VG �������ʹϥ�

�p�W�ϩҥܡAVG ���� PE �|������u������ LV�A�p�G���ӳo�� VG �n�X�R���ܡA�[�W��L�� PV �Y�i�C �ӳ̭��n�� LV �p�G�n�X�R���ܡA�]�O�z�L�[�J VG ���S���ϥΨ쪺 PE ���X�R���I

�z�L PV, VG, LV ���W������A�A�Q�� mkfs �N�i�H�N�A�� LV �榡�Ʀ����i�H�Q�Ϊ��ɮרt�ΤF�I�ӥB�o���ɮרt�Ϊ��e�q�b�����ٯ���i���X�R�δ�֡A �ӥB�̭�������٤��|�Q�v�T�I��b�O�ܡy�֮�աI�z����@�譱�n�p��i��O�H��²��O�I ��Ӭy�{�Ѱ�¦��̲ת����G�i�H�o�ˬݡG

LVM �U���󪺹�{�y�{�ϥ�
�� 3.1.2�B LVM �U���󪺹�{�y�{�ϥ�

�p���@�ӡA�ڭ̴N�i�H�Q�� LV �o�Ӫ��N��Ӷi��t�Ϊ������F�C���L�A�A���ӭnı�o�_�Ǫ��O�A ����ڪ���Ƽg�J�o�� LV �ɡA�쩳�L�O���g�J�w�з������H �����I�n���D����A�̾ڼg�J������P�A�Ӧ���ؤ覡�G

�򥻤W�ALVM �̥D�n���γB�O�b��{�@�ӥi�H�u�ʽվ�e�q���ɮרt�ΤW�A �Ӥ��O�b�إߤ@�Ӯįର�D���ϺФW�A�ҥH�A�ڭ����ӧQ�Ϊ��O LVM �i�H�u�ʺ޲z��� partition �j�p���γ~�W�A�Ӥ��O�۲��b�į�W���C�]���A LVM �w�]��Ū�g�Ҧ��O�u�ʼҦ��աI �p�G�A�ϥ� triped �Ҧ��A�n�`�N�A������@�� partition �y�k�ѡz�ɡA�Ҧ�����Ƴ��|�y�l���z���I �ҥH�աA���O�ܾA�X�ϥγo�ؼҦ��աI�p�G�n�j�ծį�P�ƥ��A����N�����ϥ� RAID �Y�i�A ���ݭn�Ψ� LVM �ڡI


LVM ��@�y�{

LVM ���ݭn�֤ߦ��䴩�B�ݭn�w�� lvm2 �o�ӳn��A�n�Φb���O�A CentOS �P��L���s�� distributions �w�g�w�]�N lvm ���䴩�P�n�鳣�w�˧����F�I�ҥH�A���ݭn��߳o�譱�����D�I�δN��F�I

�����ϥΪ����վ��S�n�X�ʤF��I���ڭ̤~�m�߹L RAID�A�����n�N�@��ثe�S���Ψ쪺���μѥ������A �M��A���طs�����μѡC�åB�ѩ󳾭��Ȧ��@�� 40GB ���ϺСA�ҥH���U���m�߳��Ȱw��P�@���ϺШӧ@���C �ڪ��n�D���I���o�ˡG

�����N���J�Ӫ����й�����ΤF�A�бz�ۦ�Ѧ��ĤK���� fdisk �ӹF�����U���d�ҡG(�`�N�G�ק�t���ѧO�X�Шϥ� t �o�� fdisk �������O�ӳB�z�Y�i)

[root@www ~]# fdisk /dev/hda  <==��L�y�{�Цۦ�ѦҲĤK���B�z
[root@www ~]# partprobe       <==�O�ѰO�o�Ӱʧ@�F�I�����n�I
[root@www ~]# fdisk -l
Disk /dev/hda: 41.1 GB, 41174138880 bytes
255 heads, 63 sectors/track, 5005 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes

   Device Boot      Start         End      Blocks   Id  System
/dev/hda1   *           1          13      104391   83  Linux
/dev/hda2              14        1288    10241437+  83  Linux
/dev/hda3            1289        1925     5116702+  83  Linux
/dev/hda4            1926        5005    24740100    5  Extended
/dev/hda5            1926        2052     1020096   82  Linux swap / Solaris
/dev/hda6            2053        2235     1469916   8e  Linux LVM
/dev/hda7            2236        2418     1469916   8e  Linux LVM
/dev/hda8            2419        2601     1469916   8e  Linux LVM
/dev/hda9            2602        2784     1469916   8e  Linux LVM

�W���� /dev/hda{6,7,8,9} �o�|�Ӥ��μѴN�O�ڭ̪�������μѡI�]�N�O���U�|��ڥΨ쪺��T�I �`�N�ݡA���� 8e ���X�{�|�ɭP system �ܦ��y Linux LVM �z���I���S���]�w���� 8e �]�S���Y�A ���L�Y�� LVM ���������O�i��|��������� partition �N�O�F�I���U�ӡA�N�@�Ӥ@�Ӫ��B�z�U�y�{�a�I


�n�إ� PV ����²��A�u�n�����ϥ� pvcreate �Y�i�I�ڭ̨ӽͤ@�ͻP PV ���������O�a�I

���N�������@�@�@�a�I

# 1. �ˬd���L PV �b�t�ΤW�A�M��N /dev/hda6~/dev/hda9 �إߦ��� PV �榡
[root@www ~]# pvscan
  No matching physical volumes found <==�䤣����� PV �s�b��I

[root@www ~]# pvcreate /dev/hda{6,7,8,9}
  Physical volume "/dev/hda6" successfully created
  Physical volume "/dev/hda7" successfully created
  Physical volume "/dev/hda8" successfully created
  Physical volume "/dev/hda9" successfully created
# �o�ӫ��O�i�H�@�f��إ߳o�|�� partition ���� PV �աI�`�N�j�A�����γ~

[root@www ~]# pvscan
  PV /dev/hda6         lvm2 [1.40 GB]
  PV /dev/hda7         lvm2 [1.40 GB]
  PV /dev/hda8         lvm2 [1.40 GB]
  PV /dev/hda9         lvm2 [1.40 GB]
  Total: 4 [5.61 GB] / in use: 0 [0   ] / in no VG: 4 [5.61 GB]
# �o�N���O��ܨC�� PV ����T�P�t�ΩҦ� PV ����T�C�ר�̫�@��A��ܪ��O�G
# ���� PV ���q / �w�g�Q�ϥΨ� VG �� PV �q / �Ѿl�� PV �q

# 2. ��ԲӪ��C�ܥX�t�ΤW���C�� PV ���ӧO��T�G
[root@www ~]# pvdisplay
  "/dev/hda6" is a new physical volume of "1.40 GB"
  --- NEW Physical volume ---
  PV Name               /dev/hda6  <==��ڪ� partition �˸m�W��
  VG Name                          <==�]���|�����t�X�h�A�ҥH�ťաI
  PV Size               1.40 GB    <==�N�O�e�q����
  Allocatable           NO         <==�O�_�w�Q���t�A���G�O NO
  PE Size (KByte)       0          <==�b�� PV ���� PE �j�p
  Total PE              0          <==�@���ΥX�X�� PE
  Free PE               0          <==�S�Q LV ��� PE
  Allocated PE          0          <==�|�i���t�X�h�� PE �ƶq
  PV UUID               Z13Jk5-RCls-UJ8B-HzDa-Gesn-atku-rf2biN
....(���U�ٲ�)....
# �ѩ� PE �O�b�إ� VG �ɤ~�������ѼơA�]���b�o�̬ݨ쪺 PV ���Y�� PE ���|�O 0
# �ӥB�]�S���h�l�� PE �i�Ѥ��t (allocatable)�C

���O�����A�@�O��²��I�o�˴N�N PV �إߤF����o�I²��줣��a�I ^_^�I�~��Ӫ� VG �h�I


�إ� VG �� VG ���������O�]���֡A�ڭ̨ӬݬݡG

�P PV ���P���O�A VG ���W�٬O�ۭq���I�ڭ̪��D PV ���W�٨��N�O partition ���˸m�ɦW�A ���O�o�� VG �W�٫h�i�H�H�K�A�ۤv���ڡI�b���U���Ҥl�����A�ڱN VG �W�٨��W�� vbirdvg �C�إ߳o�� VG ���y�{�O�o�˪��G

[root@www ~]# vgcreate [-s N[mgt]] VG�W�� PV�W��
�ﶵ�P�ѼơG
-s �G�᭱�� PE ���j�p (size) �A���i�H�O m, g, t (�j�p�g���i)

# 1. �N /dev/hda6-8 �إߦ����@�� VG�A�B���w PE �� 16MB ��I
[root@www ~]# vgcreate -s 16M vbirdvg /dev/hda{6,7,8}
  Volume group "vbirdvg" successfully created

[root@www ~]# vgscan
  Reading all physical volumes.  This may take a while...
  Found volume group "vbirdvg" using metadata type lvm2
# �T��s�b�o�� vbirdvg �� VG �աI

[root@www ~]# pvscan
  PV /dev/hda6   VG vbirdvg   lvm2 [1.39 GB / 1.39 GB free]
  PV /dev/hda7   VG vbirdvg   lvm2 [1.39 GB / 1.39 GB free]
  PV /dev/hda8   VG vbirdvg   lvm2 [1.39 GB / 1.39 GB free]
  PV /dev/hda9                lvm2 [1.40 GB]
  Total: 4 [5.57 GB] / in use: 3 [4.17 GB] / in no VG: 1 [1.40 GB]
# �K�K�I�o�{�S�I���T�� PV �Q�Υh�A�ѤU�@�� /dev/hda9 �� PV �S�Q�α��I

[root@www ~]# vgdisplay
  --- Volume group ---
  VG Name               vbirdvg
  System ID
  Format                lvm2
  Metadata Areas        3
  Metadata Sequence No  1
  VG Access             read/write
  VG Status             resizable
  MAX LV                0
  Cur LV                0
  Open LV               0
  Max PV                0
  Cur PV                3
  Act PV                3
  VG Size               4.17 GB   <==���骺 VG �e�q���o��j
  PE Size               16.00 MB  <==�����C�� PE ���j�p
  Total PE              267       <==�`�@�� PE �ƶq�@���o��h�I
  Alloc PE / Size       0 / 0
  Free  PE / Size       267 / 4.17 GB
  VG UUID               4VU5Jr-gwOq-jkga-sUPx-vWPu-PmYm-dZH9EO
# �̫ᨺ�T������N�O PE ����ϥΪ����p�I�ѩ�|�����X LV�A�]���Ҧ��� PE 
# ���i�ۥѨϥΡC

�o�˴N�إߤ@�� VG �F�I���]�ڭ̭n�W�[�o�� VG ���e�q�A�]���ڭ��٦� /dev/hda9 ���I���ɧA�i�H�o�˰��G

# 2. �N�Ѿl�� PV (/dev/hda9) �ᵹ vbirdvg �a�I
[root@www ~]# vgextend vbirdvg /dev/hda9
  Volume group "vbirdvg" successfully extended

[root@www ~]# vgdisplay
....(�e���ٲ�)....
  VG Size               5.56 GB
  PE Size               16.00 MB
  Total PE              356
  Alloc PE / Size       0 / 0
  Free  PE / Size       356 / 5.56 GB
  VG UUID               4VU5Jr-gwOq-jkga-sUPx-vWPu-PmYm-dZH9EO
# �򥻤W�A�����a�I�o�˴N�i�H�⴫��� VG ���j�p�ڡI

�ڭ̦h�F�@�Ӹ˸m��I���U�Ӭ��o�� vbirdvg �i����Χa�I�z�L LV �\��ӳB�z�I


�гy�X VG �o�Ӥj�ϺФ���A�A�ӴN�O�n�إߤ��ΰϰաI�o�Ӥ��ΰϴN�O�ҿת� LV �o�I���]�ڭn�N��診�� vbirdvg �ϺСA���Φ��� vbirdlv �A��� VG ���e�q���Q���t�� vbirdlv �̭��h�I���Ӭݬݯ�ϥΪ����O��A�N�����u�@�F���I

[root@www ~]# lvcreate [-L N[mgt]] [-n LV�W��] VG�W��
[root@www ~]# lvcreate [-l N] [-n LV�W��] VG�W��
�ﶵ�P�ѼơG
-L  �G�᭱���e�q�A�e�q�����i�H�O M,G,T ���A�n�`�N���O�A�̤p��쬰 PE�A
      �]���o�Ӽƶq�����n�O PE �����ơA�Y���۲šA�t�η|�ۦ�p��̬۪񪺮e�q�C
-l  �G�᭱�i�H�� PE ���y�Ӽơz�A�Ӥ��O�ƶq�C�Y�n�o�򰵡A�o�n�ۦ�p�� PE �ơC
-n  �G�᭱�����N�O LV ���W�ٰաI
��h���������ӥi�H�ۦ�d�\�a�I man lvcreate 

# 1. �N��� vbirdvg �q�q���t�� vbirdlv �ڡA�n�`�N�A PE �@�� 356 �ӡC
[root@www ~]# lvcreate -l 356 -n vbirdlv vbirdvg
  Logical volume "vbirdlv" created
# �ѩ󥻮רҤ��C�� PE �� 16M �A�]���W�z�����O�]�i�H�ϥΦp�U���覡�ӫإߡG
# lvcreate -L 5.56G -n vbirdlv vbirdvg

[root@www ~]# ll /dev/vbirdvg/vbirdlv
lrwxrwxrwx 1 root root 27 Mar 11 16:49 /dev/vbirdvg/vbirdlv ->
/dev/mapper/vbirdvg-vbirdlv
# �ݨ��F�S���ڡI�o�N�O�ڭ̳̭��n���@�Ӫ��N��F�I

[root@www ~]# lvdisplay
  --- Logical volume ---
  LV Name                /dev/vbirdvg/vbirdlv  <==�o�Ӥ~�O LV �����W�I
  VG Name                vbirdvg
  LV UUID                8vFOPG-Jrw0-Runh-ug24-t2j7-i3nA-rPEyq0
  LV Write Access        read/write
  LV Status              available
  # open                 0
  LV Size                5.56 GB               <==�o�� LV ���e�q�o��j�I
  Current LE             356
  Segments               4
  Allocation             inherit
  Read ahead sectors     auto
  - currently set to     256
  Block device           253:0

�p���@�ӡA��� partition �]�dzƦn�աI���U�ӡA�N�O�w��o�� LV �ӳB�z�աI�n�S�O�`�N���O�A VG ���W�٬� vbirdvg �A ���O LV ���W�������ϥΥ��W�I��Y�O /dev/vbirdvg/vbirdlv �~���I ���򪺳B�z���O�o�˪��I�o�I�즸��IJ LVM ���B�ͫܮe���d���I


�o�ӳ��������ڴN���A�h�[�����F�I�����Ӷi��a�I

# 1. �榡�ơB�����P�[��ڭ̪� LV �a�I
[root@www ~]# mkfs -t ext3 /dev/vbirdvg/vbirdlv <==�`�N LV ���W�I
[root@www ~]# mkdir /mnt/lvm
[root@www ~]# mount /dev/vbirdvg/vbirdlv /mnt/lvm
[root@www ~]# df
Filesystem           1K-blocks      Used Available Use% Mounted on
/dev/hda2              9920624   3858984   5549572  42% /
/dev/hda3              4956316   1056996   3643488  23% /home
/dev/hda1               101086     21408     74459  23% /boot
tmpfs                   371332         0    371332   0% /dev/shm
/dev/mapper/vbirdvg-vbirdlv
                       5741020    142592   5306796   3% /mnt/lvm
[root@www ~]# cp -a /etc /var/log /mnt/lvm

��� LV ���W�٫ظm���� /dev/vbirdvg/vbirdlv �O���F���ϥΪ̪�ı�������ڭ̩һݭn����ơA ��ڤW LVM �ϥΪ��˸m�O��m�� /dev/mapper/ �ؿ��U���I�ҥH�A�~�|�ݨ�W���������S���r�鳡���C �z�L�o�˪��\��A�ڭ̲{�b�w�g�ظm�n�@�� LV �F�I�A�i�H�ۥѪ����� /mnt/lvm �����Ҧ��귽�I


��j LV �e�q

�ڭ̤��O�� LVM �̤j���S��N�O�u�ʽվ�ϺЮe�q�ܡH�n�I���ڭ̴N�ӳB�z�@�U�A�p�G�n��j LV ���e�q�ɡA �Ӧp��i�槹�㪺�B�J�O�H���@�I��������I�A�u�n�o�˰��Y�i�G

  1. �� fdisk �]�w�s���㦳 8e system ID �� partition
  2. �Q�� pvcreate �ظm PV
  3. �Q�� vgextend �N PV �[�J�ڭ̪� vbirdvg
  4. �Q�� lvresize �N�s�[�J�� PV ���� PE �[�J vbirdlv ��
  5. �z�L resize2fs �N�ɮרt�Ϊ��e�q�T��W�[�I

�䤤�̫�@�ӨB�J�̭��n�I�ڭ̦b�ĤK���������D�A ����ɮרt�Φb�̪�榡�ƪ��ɭԴN�إߤF inode/block/superblock ����T�A�n���ܳo�Ǹ�T�O�������I ���L�]���ɮרt�ή榡�ƪ��ɭԫظm���O�h�� block group �A�]���ڭ̥i�H�z�L�b�ɮרt�η����W�[ block group ���覡�ӼW���ɮרt�Ϊ��q�I�ӼW�� block group �N�O�Q�� resize2fs �աI�ҥH�̫�@�B�O�w���ɮרt�ΨӳB�z���A �e���X�B�h�O�w�� LVM ����ڮe�q�j�p�I

# 1. �B�z�X�@�� 3GB ���s�� partition �A�b�������t�Τ����ӬO /dev/hda10
[root@www ~]# fdisk /dev/hda <==��L���ʧ@�Цۦ�B�z
[root@www ~]# partprobe
[root@www ~]# fdisk -l
   Device Boot      Start         End      Blocks   Id  System
....(�����ٲ�)....
/dev/hda10           2785        3150     2939863+  8e  Linux LVM
# �o�ӴN�O�ڭ̭n���s�� partition �o�I

# 2. �إ߷s�� PV�G
[root@www ~]# pvcreate /dev/hda10
  Physical volume "/dev/hda10" successfully created
[root@www ~]# pvscan
  PV /dev/hda6    VG vbirdvg   lvm2 [1.39 GB / 0    free]
  PV /dev/hda7    VG vbirdvg   lvm2 [1.39 GB / 0    free]
  PV /dev/hda8    VG vbirdvg   lvm2 [1.39 GB / 0    free]
  PV /dev/hda9    VG vbirdvg   lvm2 [1.39 GB / 0    free]
  PV /dev/hda10                lvm2 [2.80 GB]
  Total: 5 [8.37 GB] / in use: 4 [5.56 GB] / in no VG: 1 [2.80 GB]
# �i�H�ݨ� /dev/hda10 �O�s�[�J�åB�|���Q�ϥΪ���I

# 3. �[�j VG �A�Q�� vgextend �\��I
[root@www ~]# vgextend vbirdvg /dev/hda10
  Volume group "vbirdvg" successfully extended
[root@www ~]# vgdisplay
  --- Volume group ---
  VG Name               vbirdvg
  System ID
  Format                lvm2
  Metadata Areas        5
  Metadata Sequence No  4
  VG Access             read/write
  VG Status             resizable
  MAX LV                0
  Cur LV                1
  Open LV               1
  Max PV                0
  Cur PV                5
  Act PV                5
  VG Size               8.36 GB
  PE Size               16.00 MB
  Total PE              535
  Alloc PE / Size       356 / 5.56 GB
  Free  PE / Size       179 / 2.80 GB
  VG UUID               4VU5Jr-gwOq-jkga-sUPx-vWPu-PmYm-dZH9EO
# �������� VG �ܤj�F�I�ӥB�Ѿl�� PE �@�� 179 �ӡA�e�q�h�� 2.80G

# 4. ��j LV �a�I�Q�� lvresize ���\��ӼW�[�I
[root@www ~]# lvresize -l +179 /dev/vbirdvg/vbirdlv
  Extending logical volume vbirdlv to 8.36 GB
  Logical volume vbirdlv successfully resized
# �o�˴N�W�[�F LV �F��Ilvresize ���y�k��²��A�򥻤W�P�˳z�L -l �� -L �ӼW�[�I
# �Y�n�W�[�h�ϥ� + �A�Y�n��֫h�ϥ� - �I�ԲӪ��ﶵ�аѦ� man lvresize �o�I

[root@www ~]# lvdisplay
  --- Logical volume ---
  LV Name                /dev/vbirdvg/vbirdlv
  VG Name                vbirdvg
  LV UUID                8vFOPG-Jrw0-Runh-ug24-t2j7-i3nA-rPEyq0
  LV Write Access        read/write
  LV Status              available
  # open                 1
  LV Size                8.36 GB
  Current LE             535
  Segments               5
  Allocation             inherit
  Read ahead sectors     auto
  - currently set to     256
  Block device           253:0

[root@www ~]# df /mnt/lvm
Filesystem           1K-blocks      Used Available Use% Mounted on
/dev/mapper/vbirdvg-vbirdlv
                       5741020    261212   5188176   5% /mnt/lvm

�ݨ�F�a�H�̲ת����G�� LV �u������j�� 8.36GB ��I���O�ɮרt�Ϋo�S���۹�W�[�I �ӥB�A�ڭ̪� LVM �i�H�u�W�����B�z�A�ä��ݭn�S�O���L umount ���I�u�O�H�ʤơI ���O�٬O�o�n�B�z�@�U�ɮרt�Ϊ��e�q�աI�}�l�[��@�U�ɮרt�ΡA�M��ϥ� resize2fs �ӳB�z�@�U�a�I

# 5.1 ���ݤ@�U�쥻���ɮרt�Τ��� superblock �O�����p�a�I
[root@www ~]# dumpe2fs /dev/vbirdvg/vbirdlv
dumpe2fs 1.39 (29-May-2006)
....(�����ٲ�)....
Block count:              1458176    <==�o��filesystem�� block �`��
....(�����ٲ�)....
Blocks per group:         32768      <==�h�֭� block �]�w�����@�� block group
Group 0: (Blocks 0-32767)            <==�A������ block �����X
....(�����ٲ�)....
Group 44: (Blocks 1441792-1458175)   <==�o�O���t�Τ��̫�@�� group
....(�᭱�ٲ�)....

# 5.2 resize2fs ���y�k
[root@www ~]# resize2fs [-f] [device] [size]
�ﶵ�P�ѼơG
-f      �G�j��i�� resize ���ʧ@�I
[device]�G�˸m���ɮצW�١F
[size]  �G�i�H�[�]�i�H���[�C�p�G�[�W size ���ܡA����N�����n�����@�ӳ��A
          Ĵ�p M, G �����C�p�G�S�� size ���ܡA����w�]�ϥΡy��� partition�z
          ���e�q�ӳB�z�I

# 5.3 ���㪺�N LV ���e�q�X�R���� filesystem �a�I
[root@www ~]# resize2fs /dev/vbirdvg/vbirdlv
resize2fs 1.39 (29-May-2006)
Filesystem at /dev/vbirdvg/vbirdlv is mounted on /mnt/lvm; on-line resizing 
Performing an on-line resize of /dev/vbirdvg/vbirdlv to 2191360 (4k) blocks.
The filesystem on /dev/vbirdvg/vbirdlv is now 2191360 blocks long.
# �i�ȧa�I�o�@���� lvm ���M�٥i�H�u�W�i�� resize ���\����I�u�n�I

[root@www ~]# df /mnt/lvm
Filesystem           1K-blocks      Used Available Use% Mounted on
/dev/mapper/vbirdvg-vbirdlv
                       8628956    262632   7931368   4% /mnt/lvm
[root@www ~]# ll /mnt/lvm
drwxr-xr-x 105 root root 12288 Mar 11 16:59 etc
drwxr-xr-x  17 root root  4096 Mar 11 14:17 log
drwx------   2 root root 16384 Mar 11 16:59 lost+found
# ���ƻs�i�h����ƥi�٬O�s�b����I�èS�����������I

�K�K�I�u����j�F�a�I�ӥB�p�G�A�w�g�����Ʀb LVM �ϰϷ������ܡI�o�Ӹ�ƬO���|��������I�٬O�~��s�b�쥻���ϰϷ����աI ��Ӱʧ@���M�o��²��N�����F�I�쥻������٬O�@���s�b�Ӥ��|������z���A LVM �n���n�ΰڡI

���~�A�p�G�A�A�H dumpe2fs ���ˬd /dev/vbirdvg/vbirdlv �ɡA�N�|�o�{���� Group �W�[�F�I �p�G�٬O�d���M������O block group �ɡA�Ц^��ĤK���ݤ@�U�ӳ�����1.3.1�����Чa�I


�Y�p LV �e�q

�W�@�p�`�ڭ̽ͨ쪺�O��j�e�q�A�{�b�ӽͨ쪺�O�Y�p�e�q��I���]�ڭ̷Q�N /dev/hda6 �����X�ӡI ���Ӧp��B�z�ڡH�N���W�@�p�`���y�{����L�ӧY�i�ڡI�ڭ̴N�����Ӫ��a�I

# 1. ����X /dev/hda6 ���e�q�j�p�A�ù��խp���ɮרt�λ��Y�p��h��
[root@www ~]# pvdisplay
  --- Physical volume ---
  PV Name               /dev/hda6
  VG Name               vbirdvg
  PV Size               1.40 GB / not usable 11.46 MB
  Allocatable           yes (but full)
  PE Size (KByte)       16384
  Total PE              89
  Free PE               0
  Allocated PE          89
  PV UUID               Z13Jk5-RCls-UJ8B-HzDa-Gesn-atku-rf2biN
# �q�o�̥i�H�ݥX /dev/hda6 ���h�j�A�ӥB�t�� 89 �� PE ���q��I
# ���p�G�n�ϥ� resize2fs �ɡA�h�`�q��h 1.40GB �N��F�I

[root@www ~]# pvscan
  PV /dev/hda6    VG vbirdvg   lvm2 [1.39 GB / 0    free]
  PV /dev/hda7    VG vbirdvg   lvm2 [1.39 GB / 0    free]
  PV /dev/hda8    VG vbirdvg   lvm2 [1.39 GB / 0    free]
  PV /dev/hda9    VG vbirdvg   lvm2 [1.39 GB / 0    free]
  PV /dev/hda10   VG vbirdvg   lvm2 [2.80 GB / 0    free]
  Total: 5 [8.36 GB] / in use: 5 [8.36 GB] / in no VG: 0 [0   ]
# �q�W���i�H�o�{�p�G���� /dev/hda6 �h�Ѿl�e�q���G1.39*3+2.8=6.97

# 2. �N�������C�ɮרt�Ϊ��e�q�a�I
[root@www ~]# resize2fs /dev/vbirdvg/vbirdlv 6900M
resize2fs 1.39 (29-May-2006)
Filesystem at /dev/vbirdvg/vbirdlv is mounted on /mnt/lvm; on-line resizing
On-line shrinking from 2191360 to 1766400 not supported.
# �e�q�n��������g�p���I��ơA�]�� 6.9G �O���~���A�����N�ϥ� 6900M �F�C
# ���~�A��j�i�H�u�W�����i��A�Y�p�ɮרt�Φ��G�L�k�䴩�I�ҥH�n�o�˰��G

[root@www ~]# umount /mnt/lvm
[root@www ~]# resize2fs /dev/vbirdvg/vbirdlv 6900M
resize2fs 1.39 (29-May-2006)
Please run 'e2fsck -f /dev/vbirdvg/vbirdlv' first.
# �L�n�ڭ̥��i��Ϻ��ˬd�I���o���I���N�����i��a�I

[root@www ~]# e2fsck -f /dev/vbirdvg/vbirdlv
e2fsck 1.39 (29-May-2006)
Pass 1: Checking inodes, blocks, and sizes
Pass 2: Checking directory structure
Pass 3: Checking directory connectivity
Pass 4: Checking reference counts
Pass 5: Checking group summary information
/dev/vbirdvg/vbirdlv: 2438/1087008 files (0.1% non-contiguous), 

[root@www ~]# resize2fs /dev/vbirdvg/vbirdlv 6900M
resize2fs 1.39 (29-May-2006)
Resizing the filesystem on /dev/vbirdvg/vbirdlv to 1766400 (4k) blocks.
The filesystem on /dev/vbirdvg/vbirdlv is now 1766400 blocks long.
# �A�� resize2fs �@���N������\�F�I�p�W�ҥܰڡI

[root@www ~]# mount /dev/vbirdvg/vbirdlv /mnt/lvm
[root@www ~]# df /mnt/lvm
Filesystem           1K-blocks      Used Available Use% Mounted on
/dev/mapper/vbirdvg-vbirdlv
                       6955584    262632   6410328   4% /mnt/lvm

�M��A�ӴN�O�N LV ���e�q���C�I�n�`�N���O�A�ڭ̷Q�n�������O /dev/hda6�A�o�� PV �� 89 �� PE (�W���� pvdisplay �d�ߨ쪺���G)�C�ҥH�n�o�˶i��G

# 3. ���C LV ���e�q�A�P�ɧڭ̪��D /dev/hda6 �� 89 �� PE
[root@www ~]# lvresize -l -89 /dev/vbirdvg/vbirdlv
  WARNING: Reducing active and open logical volume to 6.97 GB
  THIS MAY DESTROY YOUR DATA (filesystem etc.)
Do you really want to reduce vbirdlv? [y/n]: y
  Reducing logical volume vbirdlv to 6.97 GB
  Logical volume vbirdlv successfully resized
# �|��ĵ�i�T���I���O�ڭ̪���ڸ�ƶq�٬O�� 6.97G �p�A�ҥH�N y �U�h�a�I

[root@www ~]# lvdisplay
  --- Logical volume ---
  LV Name                /dev/vbirdvg/vbirdlv
  VG Name                vbirdvg
  LV UUID                8vFOPG-Jrw0-Runh-ug24-t2j7-i3nA-rPEyq0
  LV Write Access        read/write
  LV Status              available
  # open                 1
  LV Size                6.97 GB
  Current LE             446
  Segments               5
  Allocation             inherit
  Read ahead sectors     auto
  - currently set to     256
  Block device           253:0

��²��a�I�o�˴N�N LV �Y�p�F�I���U�ӴN�n�N /dev/hda6 ���X vbirdvg �o�� VG ���~�o�I �ڭ̱o�n���T�w /dev/hda6 �̭��� PE �������Q�ϥΫ�A�~����N /dev/hda6 �����I �ҥH�o�n�o�˶i��G

# 4.1 ���T�{ /dev/hda6 �O�_�N PE �������F�I
[root@www ~]# pvdisplay
  --- Physical volume ---
  PV Name               /dev/hda6
  VG Name               vbirdvg
  PV Size               1.40 GB / not usable 11.46 MB
  Allocatable           yes (but full)
  PE Size (KByte)       16384
  Total PE              89
  Free PE               0
  Allocated PE          89
  PV UUID               Z13Jk5-RCls-UJ8B-HzDa-Gesn-atku-rf2biN
....(�����ٲ�)....

  --- Physical volume ---
  PV Name               /dev/hda10
  VG Name               vbirdvg
  PV Size               2.80 GB / not usable 6.96 MB
  Allocatable           yes
  PE Size (KByte)       16384
  Total PE              179
  Free PE               89
  Allocated PE          90
  PV UUID               7MfcG7-y9or-0Jmb-H7RO-5Pa5-D3qB-G426Vq
# �d�F�ѥb�ѡA�S���Q�ϥΪ� PE ���M�b /dev/hda10 �I���ɱo�n�h�� PE �o�I

[root@www ~]# pvmove /dev/hda6 /dev/hda10
# pvmove �ӷ�PV �ؼ�PV �A�i�H�N /dev/hda6 ���� PE �q�q���ʨ� /dev/hda10
# �|���Q�ϥΪ� PE �h (Free PE)�C

# 4.2 �N /dev/hda6 ���X vbirdvg ���I
[root@www ~]# vgreduce vbirdvg /dev/hda6
  Removed "/dev/hda6" from volume group "vbirdvg"

[root@www ~]# pvscan
  PV /dev/hda7    VG vbirdvg   lvm2 [1.39 GB / 0    free]
  PV /dev/hda8    VG vbirdvg   lvm2 [1.39 GB / 0    free]
  PV /dev/hda9    VG vbirdvg   lvm2 [1.39 GB / 0    free]
  PV /dev/hda10   VG vbirdvg   lvm2 [2.80 GB / 0    free]
  PV /dev/hda6                 lvm2 [1.40 GB]
  Total: 5 [8.37 GB] / in use: 4 [6.97 GB] / in no VG: 1 [1.40 GB]

[root@www ~]# pvremove /dev/hda6
  Labels on physical volume "/dev/hda6" successfully wiped

�ܦ���a�I�o�˧A���ɮרt�ΥH�ι�ڪ� LV �P VG �q�q�ܤp�F�A�ӥB���� /dev/hda6 �ٯu���i�H���X�ӡI �i�H�i���L���γ~�աI�D�`²��a�I


LVM ���t�Χַ�

�{�b�A���D LVM ���n�B���A���Ӧp�G�A���Q�n�W�[�Y�� LVM ���e�q�ɡA�N�i�H�z�L�o�ө�j�B�Y�p���\��ӳB�z�C ���� LVM ���F�o�ǥ\�ध�~�A�٦������O�O�H���L�٦��@�ӭ��n����O�A���N�O�t�Χַ� (snapshot)�C ����O�t�ΧַӰڡH�ַӴN�O�N���ɪ��t�θ�T�O���U�ӡA�N�n���Ӭ۰O���@��I ���ӭY�������Ƨ�ʤF�A�h��l��Ʒ|�Q�h����ַӰϡA�S���Q��ʪ��ϰ�h�ѧַӰϻP�ɮרt�Φ@�ɡC �������n���������A�ڭ̥ιϸѻ����@�U�n�F�G

LVM �t�ΧַӰϰ쪺�ƥ��ܷN��
�� 3.5.1�BLVM �t�ΧַӰϰ쪺�ƥ��ܷN��(��u���ɮרt�ΡA����u���ַӰ�)

���Ϭ��̪�ظm�t�ΧַӰϪ����p�ALVM �|�w�d�@�Ӱϰ� (���Ϫ������T�� PE �϶�) �@����Ʀs��B�C ���ɧַӰϤ��èS�������ơA���ַӰϻP�t�ΰϦ@�ɩҦ��� PE ��ơA �]���A�|�ݨ�ַӰϪ����e�P�ɮרt�άO�@�Ҥ@�˪��C ����t�ιB�@�@�}�l��A���] A �ϰ쪺��ƳQ��ʤF (�W���k�ϩҥ�)�A�h��ʫe�t�η|�N�Ӱϰ쪺��Ʋ��ʨ�ַӰ��A �ҥH�b�k�Ϫ��ַӰϳQ���ΤF�@�� PE ���� A�A�Ө�L B �� I ���϶��h�٬O�P�ɮרt�Φ@�ΡI

�ӳo�˪����p�ӬݡALVM ���t�ΧַӬO�D�`�Ϊ��y�ƥ��u��z�A�]���L�u���ƥ����Q��ʨ쪺��ơA �ɮרt�Τ��S���Q�ܧ󪺸�ƨ��«O���b�쥻���϶����A���O LVM �ַӥ\��|���D���Ǹ�Ʃ�m�b���̡A �]���y�ַӡz���ɪ��ɮרt�δN�o�H�y�ƥ��z�U�ӡA�B�ַөҦ��Ϊ��e�q�S�D�`�p�I�ҥH�z���A�o���O�ܴΪ��u��S�O����H

����ַӰϭn�p��إ߻P�ϥΩO�H�����A�ѩ�ַӰϻP�쥻�� LV �@�Ϋܦh PE �϶��A�]���ַӰϻP�Q�ַӪ� LV �����n�b�P�@�� VG �W�Y�C���O�ڭ̭��N /dev/hda6 ���� vbirdvg �F�A�ثe vbirdvg �ѤU���e�q�� 0 �I�]���A�b�o�Ӥp�`�̭��ڭ̱o�n�A�[�J /dev/hda6 ��ڭ̪� VG ��A �~���~��إߧַӰ��o�I���U���ʧ@����A�Ӫ����ݡI


���U���ʧ@�D�n�b�W�[�ݭn�� VG �e�q�A�M��A�z�L lvcreate -s ���\��إߧַӰ�

# 1. ���[�� VG �ٳѤU�h�ֳѾl�e�q
[root@www ~]# vgdisplay
  --- Volume group ---
  VG Name               vbirdvg
....(��L�ٲ�)....
  VG Size               6.97 GB
  PE Size               16.00 MB
  Total PE              446
  Alloc PE / Size       446 / 6.97 GB
  Free  PE / Size       0 / 0  <==�S���h�l�� PE �i�ΡI

# 2. �N��貾���� /dev/hda6 �[�J�o�� VG �a�I
[root@www ~]# pvcreate /dev/hda6
  Physical volume "/dev/hda6" successfully created
[root@www ~]# vgextend vbirdvg /dev/hda6
  Volume group "vbirdvg" successfully extended
[root@www ~]# vgdisplay
  --- Volume group ---
  VG Name               vbirdvg
....(��L�ٲ�)....
  VG Size               8.36 GB
  PE Size               16.00 MB
  Total PE              535
  Alloc PE / Size       446 / 6.97 GB
  Free  PE / Size       89 / 1.39 GB  <==�h�X�F 89 �� PE �i���o�I

# 3. �Q�� lvcreate �إߨt�ΧַӰϡA�ڭ̨��W�� vbirdss�A�B���� 60 �� PE
[root@www ~]# lvcreate -l 60 -s -n vbirdss /dev/vbirdvg/vbirdlv
  Logical volume "vbirdss" created
# �W�z�����O���̭��n���O���� -s ���ﶵ�I�N���O snapshot �ַӥ\�ध�N�I
# -n �᭱���ַӰϪ��˸m�W�١A /dev/.... �h�O�n�Q�ַӪ� LV �����ɦW�C
# -l �᭱�h�O���ϥΦh�֭� PE �ӧ@���o�ӧַӰϨϥΡC

[root@www ~]# lvdisplay
  --- Logical volume ---
  LV Name                /dev/vbirdvg/vbirdss
  VG Name                vbirdvg
  LV UUID                K2tJ5E-e9mI-89Gw-hKFd-4tRU-tRKF-oeB03a
  LV Write Access        read/write
  LV snapshot status     active destination for /dev/vbirdvg/vbirdlv
  LV Status              available
  # open                 0
  LV Size                6.97 GB    <==�Q�ַӪ��� LV �ϺЮe�q
  Current LE             446
  COW-table size         960.00 MB  <==�ַӰϪ���ڮe�q
  COW-table LE           60         <==�ַӰϦ��Ϊ� PE �ƶq
  Allocated to snapshot  0.00%
  Snapshot chunk size    4.00 KB
  Segments               1
  Allocation             inherit
  Read ahead sectors     auto
  - currently set to     256
  Block device           253:1

�z�ݬݡI�o�� /dev/vbirdvg/vbirdss �ַӰϴN�Q�إ߰_�ӤF�I�ӥB�L�� VG �q���M�P�쥻�� /dev/vbirdvg/vbirdlv �ۦP�I�]�N�O���A�p�G�A�u�������o�Ӹ˸m�ɡA�ݨ쪺��Ʒ|��쥻�� vbirdlv �ۦP��I�ڭ̴N�Ӵ��լݬݡG

[root@www ~]# mkdir /mnt/snapshot
[root@www ~]# mount /dev/vbirdvg/vbirdss /mnt/snapshot
[root@www ~]# df
Filesystem           1K-blocks      Used Available Use% Mounted on
/dev/hda2              9920624   3859032   5549524  42% /
/dev/hda3              4956316   1056996   3643488  23% /home
/dev/hda1               101086     21408     74459  23% /boot
tmpfs                   371332         0    371332   0% /dev/shm
/dev/mapper/vbirdvg-vbirdlv
                       6955584    262632   6410328   4% /mnt/lvm
/dev/mapper/vbirdvg-vbirdss
                       6955584    262632   6410328   4% /mnt/snapshot
# ���S���ݨ�I�o��өN�N���M�O�@�Ҥ@�˳�I�ڭ̮ڥ��S���ʹL
# /dev/vbirdvg/vbirdss ��a�I���L�o�̭��|�D�ʰO���� vbirdlv �����e�I

[root@www ~]# umount /mnt/snapshot
# �̫�N�L�����I�ڭ̷dzƨӪ������쪺�F��I


�����A�ڭ̨Ӫ��@�U�A�p��Q�ΧַӰϴ_��t�Χa�I���L�A�n�`�N���O�A�A�n�_�쪺��ƶq���������ַӰϩү�t������ڮe�q�C�ѩ��l��Ʒ|�Q�h����ַӰϡA �p�G�A���ַӰϤ����j�A�Y��l��ƳQ��ʪ���ڸ�ƶq��ַӰϤj�A����ַӰϷ��M�e�Ǥ��F�A�o�ɭԧַӥ\��|���ij�I �ҥH�W�����רҤ������~���� 60 �� PE (�@ 900MB) �@���ַӰϦs���ƥΡC

�ڭ̪� /mnt/lvm �w�g�� /mnt/lvm/etc, /mnt/lvm/log ���ؿ��F�A���U�ӧڭ̱N�o���ɮרt�Ϊ����e�@���ܧ�A �M��A�H�ַӰϸ���٭�ݬݡG

# 1. ���N�쥻�� /dev/vbirdvg/vbirdlv ���e�@���ܧ�A�W�W���@�ǥؿ��a�I
[root@www ~]# df /mnt/lvm
Filesystem           1K-blocks      Used Available Use% Mounted on
/dev/mapper/vbirdvg-vbirdlv
                       6955584    262632   6410328   4% /mnt/lvm

[root@www ~]# ll /mnt/lvm
drwxr-xr-x 105 root root 12288 Mar 11 16:59 etc
drwxr-xr-x  17 root root  4096 Mar 11 14:17 log
drwx------   2 root root 16384 Mar 11 16:59 lost+found

[root@www ~]# rm -r /mnt/lvm/log
[root@www ~]# cp -a /boot /lib /sbin /mnt/lvm
[root@www ~]# ll /mnt/lvm
drwxr-xr-x   4 root root  4096 Dec 15 16:28 boot
drwxr-xr-x 105 root root 12288 Mar 11 16:59 etc
drwxr-xr-x  14 root root  4096 Sep  5  2008 lib
drwx------   2 root root 16384 Mar 11 16:59 lost+found
drwxr-xr-x   2 root root 12288 Sep  5  2008 sbin
# �ݰ_�Ӹ�Ƥw�g���@�ˤF�I

[root@www ~]# lvdisplay /dev/vbirdvg/vbirdss
  --- Logical volume ---
  LV Name                /dev/vbirdvg/vbirdss
  VG Name                vbirdvg
....(�����ٲ�)....
  Allocated to snapshot  12.22%
....(���U�ٲ�)....
# �q�o�̤]�ݱo�X�ӡA�ַӰϤw�g�Q�ϥΤF 12.22% �I�]����l���ɮרt�Φ����ʹL�I

# 2. �Q�ΧַӰϱN�쥻�� filesystem �ƥ�
[root@www ~]# mount /dev/vbirdvg/vbirdss /mnt/snapshot
[root@www ~]# df
Filesystem           1K-blocks      Used Available Use% Mounted on
/dev/mapper/vbirdvg-vbirdlv
                       6955584    370472   6302488   6% /mnt/lvm
/dev/mapper/vbirdvg-vbirdss
                       6955584    262632   6410328   4% /mnt/snapshot
# �ݧa�I��̽T�ꤣ�@�ˤF�I�}�l�N�ַӰϤ��e�ƻs�X�ӧa�I

[root@www ~]# mkdir -p /backups <==�T�{�u�����o�ӥؿ��I
[root@www ~]# cd /mnt/snapshot
[root@www snapshot]# tar -jcv -f /backups/lvm.tar.bz2 *
# ���ɧA�N�|���@�ӳƥ���ơA��Y�O /backups/lvm.tar.bz2 �F�I

������n�ƥ��O�H�����򤣥i�H�����榡�� /dev/vbirdvg/vbirdlv �M��N /dev/vbirdvg/vbirdss �����ƻs�� vbirdlv �O�H �n���D vbirdss ���O vbirdlv ���ַӡA�]���p�G�A�榡�ƾ�� vbirdlv �ɡA�쥻���ɮרt�ΩҦ���Ƴ��|�Q�h���� vbirdss�C ���p�G vbirdss ���e�q�����j (�q�`�]�u�������j)�A���򳡤���ƱN�L�k�ƻs�� vbirdss ���A��Ʒ��M�L�k�����٭�ڡI �ҥH�~�n�b�W�����椤�s�@�X�@�ӳƥ��ɮת��I�A�ѥG�H

�ӧַ��٦��t�~�@�ӥ\��A�N�O�A�i�H��� /mnt/lvm �P /mnt/snapshot �����e�A�N����o�{��̪�A�쩳��Fԣ�N�N�I �o�ˤ]�O�ܤ���ڡI�z���O�a�I ^_^�I���U�����ڭ̷dz��٭� vbirdlv �����e�a�I

# 3. �N vbirdss �����ò��� (�]���̭������e�w�g�ƥ��_�ӤF)
[root@www ~]# umount /mnt/snapshot
[root@www ~]# lvremove /dev/vbirdvg/vbirdss
Do you really want to remove active logical volume "vbirdss"? [y/n]: y
  Logical volume "vbirdss" successfully removed

[root@www ~]# umount /mnt/lvm
[root@www ~]# mkfs -t ext3 /dev/vbirdvg/vbirdlv
[root@www ~]# mount /dev/vbirdvg/vbirdlv /mnt/lvm
[root@www ~]# tar -jxv -f /backups/lvm.tar.bz2 -C /mnt/lvm
[root@www ~]# ll /mnt/lvm
drwxr-xr-x 105 root root 12288 Mar 11 16:59 etc
drwxr-xr-x  17 root root  4096 Mar 11 14:17 log
drwx------   2 root root 16384 Mar 11 16:59 lost+found
# �O�_�P�̪쪺���e�ۦP�ڡI�o�N�O�z�L�ַӨ��٭쪺�@��²�檺��k�o�I


���Ө��רӷQ�Q�A�ڭ̱N�쥻�� vbirdlv ���@�ƥ���ơA�M��N vbirdss ���@��ڦb�B�@������ơA ������ժ��ʧ@���b vbirdss �o�ӧַӰϷ������աA��������է����n�N���ժ���ƧR���ɡA�u�n�N�ַӰϧR�h�Y�i�I �ӭn�ƻs�@�� vbirdlv ���t�ΡA�A�@�t�~�@�ӧַӰϧY�i�I�o�ˬO�_�D�`��K�ڡH �o���о����Ҥ��C�~���n���ǥͻs�@�@�ӽm�����ҥD�������աA�D�`�����U�O�I

�H�e�����ѬOı�o�ϥ� LVM ���ַӨӶi��ƥ����ӦX�z�A�]���٭n�s�@�@�ӳƥ��ɡI��ӥJ�Ӭ�s�ðѦҮ}�øq�Ѯv���Ч�(��3)��A�~�o�{ LVM ���ַӹ�b�O�@�ӴΨ줣�檺�u��I�ר�O�b�������������ظm�h�����P�ǨϥΪ��������ҡA �A�u�n���@�Ӱ�¦�����ҫO�����A��L�����ҨϥΧַӨӴ��ѧY�i�C�Y�ɦP�DZN�t�ηd��F�A�A�u�n�N�ַӰϧR���A �A���ؤ@�ӧַӰϡI�o�����ҴN��_�F�I�ѧo�I��b�O�ӴΤF�I ^_^
# 1. �إߤ@�Ӥj�@�Ǫ��ַӰϡA���ڭ̱N /dev/hda6 �� PE �������ַӰϡI
[root@www ~]# lvcreate -s -l 89 -n vbirdss /dev/vbirdvg/vbirdlv
  Logical volume "vbirdss" created

[root@www ~]# lvdisplay /dev/vbirdvg/vbirdss
  --- Logical volume ---
  LV Name                /dev/vbirdvg/vbirdss
  VG Name                vbirdvg
  LV UUID                as0ocQ-KjRS-Bu7y-fYoD-1CHC-0V3Y-JYsjj1
  LV Write Access        read/write
  LV snapshot status     active destination for /dev/vbirdvg/vbirdlv
  LV Status              available
  # open                 0
  LV Size                6.97 GB
  Current LE             446
  COW-table size         1.39 GB
  COW-table LE           89
  Allocated to snapshot  0.00%
  Snapshot chunk size    4.00 KB
  Segments               1
  Allocation             inherit
  Read ahead sectors     auto
  - currently set to     256
  Block device           253:1
# �p��I�o�ӧַӰϤ��p�a�I

# 2. ���� vbirdlv ���� vbirdss
[root@www ~]# umount /mnt/lvm
[root@www ~]# mount /dev/vbirdvg/vbirdss /mnt/snapshot
[root@www ~]# df /mnt/snapshot
Filesystem           1K-blocks      Used Available Use% Mounted on
/dev/mapper/vbirdvg-vbirdss
                       7192504    265804   6561340   4% /mnt/snapshot

# 3. �}�l�c�d�I
[root@www ~]# rm -r /mnt/snapshot/etc /mnt/snapshot/log
[root@www ~]# cp -a /boot /lib /sbin /mnt/snapshot/
[root@www ~]# ll /mnt/snapshot
drwxr-xr-x  4 root root  4096 Dec 15 16:28 boot
drwxr-xr-x 14 root root  4096 Sep  5  2008 lib
drwx------  2 root root 16384 Mar 11 16:59 lost+found
drwxr-xr-x  2 root root 12288 Sep  5  2008 sbin  <==�P�쥻��Ʀ��t���F

[root@www ~]# mount /dev/vbirdvg/vbirdlv /mnt/lvm
[root@www ~]# ll /mnt/lvm
drwxr-xr-x 105 root root 12288 Mar 11 16:59 etc
drwxr-xr-x  17 root root  4096 Mar 11 14:17 log
drwx------   2 root root 16384 Mar 11 16:59 lost+found
# ���קA�b�ַӰϴc�dԣ�N�N�A�쥻�� vbirdlv �̭�����Ʀw�n�p��ڡI
# ���]�A�N vbirdss �d��F�I�̭�����Ƥ��A�ݭn�I���Ӧp��O�n�H

# 4. �٭�쥻�ַӰϪ���ơA�^��P���ɮרt�άۦP����T
[root@www ~]# umount /mnt/snapshot
[root@www ~]# lvremove /dev/vbirdvg/vbirdss
Do you really want to remove active logical volume "vbirdss"? [y/n]: y
  Logical volume "vbirdss" successfully removed

[root@www ~]# lvcreate -s -l 89 -n vbirdss /dev/vbirdvg/vbirdlv
[root@www ~]# mount /dev/vbirdvg/vbirdss /mnt/snapshot
[root@www ~]# ll /mnt/snapshot
drwxr-xr-x 105 root root 12288 Mar 11 16:59 etc
drwxr-xr-x  17 root root  4096 Mar 11 14:17 log
drwx------   2 root root 16384 Mar 11 16:59 lost+found
# ��Ƴo�˴N�_��F�I

�ѹ껡�A�W�������զ��I�L���Y��]���ַӰϷl���F�N�R���A�ؤ@�ӴN�n�աI���٭n���թO�H ���L�A���F���z�A�Ѩ�ַӰϤ]����o�˨ϥΡA�W���������٬O�ݭn�s�b���աI���Ӧp�G�A����IJ����������A �A�^��o�̨ӷŲߤ@�U�֩w�|����ì���I


LVM �������O�J��P LVM ������

�n�F�A�ڭ̱N�W�z�ιL���@�ǫ��O���L�J��@�U�A���ѵ��z�ѦҰѦҡG

����PV ���qVG ���qLV ���q
�j�M(scan)pvscanvgscanlvscan
�إ�(create)pvcreatevgcreatelvcreate
�C�X(display)pvdisplayvgdisplaylvdisplay
�W�[(extend)�@vgextendlvextend (lvresize)
���(reduce)�@vgreducelvreduce (lvresize)
�R��(remove)pvremovevgremovelvremove
���ܮe�q(resize)�@�@lvresize
�����ݩ�(attribute)pvchangevgchangelvchange

�ܩ��ɮרt�ζ��q (filesystem ���榡�ƳB�z) �����A�ٻݭn�H resize2fs �ӭ׭q�ɮרt�ι�ڪ��j�p�~��ڡI ^_^ �C�ܩ����M LVM �i�H�u�ʪ��޲z�A���ϺЮe�q�A���O�n�`�N�A�p�G�A�Q�n�ϥ� LVM �޲z�z���w�ЮɡA����b�w�˪��ɭԴN�o�n���n LVM ���W���F�A �_�h�����٬O�ݭn���H�DzΪ��ϺмW�[�覡�ӼW�[��A���ʸ�ƫ�A�~����i�� LVM ���ϥΰڡI

�|�� LVM �٤���I�A�����n�|�����t�Τ��� LVM ��I�]���A������ partition �w�g�Q�ϥΨ� LVM �h�A �p�G�A�٨S���N LVM �����N�����N���� partition �R�����ର��L�γ~���ܡA�t�άO�|�o�ͫܤj�����D���I �ҥH�o�A�A�����n���D�p��N LVM ���˸m�����ò����~��I�|���|�����O�H��ꤣ�|�աI �̾ڥH�U���y�{�ӳB�z�Y�i�G

  1. �������t�ΤW���� LVM �ɮרt�� (�]�A�ַӻP�Ҧ� LV)�F
  2. �ϥ� lvremove ���� LV �F
  3. �ϥ� vgchange -a n VGname �� VGname �o�� VG ���㦳 Active ���лx�F
  4. �ϥ� vgremove ���� VG�G
  5. �ϥ� pvremove ���� PV�F
  6. �̫�A�ϥ� fdisk �ק� ID �^�ӰڡI

�n�a�I���N��ڪ��N�ڭ̤��e�إߪ��Ҧ� LVM ��Ƶ��R���a�I

[root@www ~]# umount /mnt/lvm
[root@www ~]# umount /mnt/snapshot
[root@www ~]# lvremove /dev/vbirdvg/vbirdss  <==���B�z�ַ�
Do you really want to remove active logical volume "vbirdss"? [y/n]: y
  Logical volume "vbirdss" successfully removed
[root@www ~]# lvremove /dev/vbirdvg/vbirdlv  <==�A�B�z��t��
Do you really want to remove active logical volume "vbirdlv"? [y/n]: y
  Logical volume "vbirdlv" successfully removed

[root@www ~]# vgchange -a n vbirdvg
  0 logical volume(s) in volume group "vbirdvg" now active

[root@www ~]# vgremove vbirdvg
  Volume group "vbirdvg" successfully removed

[root@www ~]# pvremove /dev/hda{6,7,8,9,10}
  Labels on physical volume "/dev/hda6" successfully wiped
  Labels on physical volume "/dev/hda7" successfully wiped
  Labels on physical volume "/dev/hda8" successfully wiped
  Labels on physical volume "/dev/hda9" successfully wiped
  Labels on physical volume "/dev/hda10" successfully wiped

�̫�A�� fdisk �N�ϺЪ� ID ���L��^�� 83 �N�n�աI��ӹL�{�N�o�˪��աI ^_^


���I�^�U

�������D
( �n�ݵ��׽бN�ƹ����ʨ�y���G�z���U���ťճB�A���U������ťճB�Y�i��� )

²���D�����G

�ѦҸ�ƻP�����\Ū

2002/07/14�G�Ĥ@������
2003/02/10�G���s�s�ƻP�[�J FAQ
2003/09/02�G�[�J quotacheck �o�Ϳ��~�ɪ��ѨM��k�C
2005/09/06�G�N�ª��峹���ʨ� ���B �C
2005/09/06�G�i�檩�����檺�ഫ�A�åB�i���ƪ��d�ߡA�[�J repquota ��²�满���Ӥw�I
2009/03/04�G�N�쥻�ª���� FC4 ����󲾰ʨ� ���B �C
2009/03/06�G�[�J warnquota �o���N��I�����쪺���I
2009/03/12�G�[�J�F software RAID �P LVM ���[�j�����A�ר�O LVM ���ַ� (snapshot) �������I
2009/09/10�G�ק�@�Ǧr�ˤ��~�A�W�[���Ҽ����A�H�Ϋ���²���D�����D�ءC
2012/06/14�G�b���� PE �����������~�I�O Physical Extent �Ӥ��O Physical Extend �I�u��p�I