Ubuntu'da Dosya Sistemi (Disk) Kotaları Nasıl Ayarlanır
Dosya sistemi kotası, Linux Çekirdeğinde bulunan standart bir yerleşik özelliktir. Kotalar, bir dosyanın kullanıcı etkinliklerini desteklemek için sahip olması gereken alan miktarını belirler. Disk kotaları ayrıca bir kullanıcının sistemde oluşturabileceği dosya sayısını da sınırlar.
Kota sistemini destekleyen dosya sistemleri arasında xfs, ext2, ext4 ve ext3 yer almaktadır. Kotaların atanması dosya sistemine ve her kullanıcıya özeldir. Bu makale, çok kullanıcılı bir Ubuntu ortamında kota dosya sistemiyle çalışmaya ilişkin bilmeniz gereken her şeyi içermektedir.
Buradaki varsayım, Ubuntu sistemini sudo hakları verilen bir kullanıcıya (tecmint) sahip olarak kullandığınızdır. Burada paylaşılan fikirler, doğru uygulama tekniğini kullandığınız sürece herhangi bir Linux dağıtımında işe yarayabilir.
Adım 1: Ubuntu'da Kota Kurulumu
Kotaların hazır ve kullanılabilir olması için apt komutunu kullanarak quota komut satırı aracını yükleyin ancak bundan önce sistem yazılım paketlerini güncellemeniz gerekir.
sudo apt update
Şimdi quota paketini Ubuntu'ya yüklemek için aşağıdaki komutu kullanın.
sudo apt install quota
Yükleme işleminin başlaması için Y
'ye ve ardından ENTER'a basın.
Aşağıdaki komutu çalıştırarak kurulum sürümünü onaylayın. Sürüm numaranız aşağıda gördüğünüzden farklı olabilir.
quota --version
Adım 2: Kota Çekirdeği Modülünü Yükleme
Bulut tabanlı bir sanal sistem çalıştıranlar için, varsayılan Ubuntu kurulumunda kota kullanımını destekleyen çekirdek modülleri eksik olabilir. Bulma aracını kullanarak onaylamanız ve quota_v1 ve quota _v2 adlı iki modülün /lib/modules dizininde olduğundan emin olmanız gerekir.
find /lib/modules/`uname -r` -type f -name '*quota_v*.ko*'
Bu yukarıdaki komutun sonucu olmalıdır.
İki modül mevcut olduğu sürece çekirdek sürümleri konusunda endişelenmeyin. Bulunamazsa kota çekirdek modüllerini gösterildiği gibi yüklemek için aşağıdaki komutu kullanın.
sudo apt install linux-image-extra-virtual
Kota uygulaması için ihtiyacınız olan doğru modülleri alacaksınız.
3. Adım: Dosya Sistemi Montaj Seçeneklerini Güncelleme
Belirli bir sistemde kotaların aktif olabilmesi için ilgili kota seçenekleriyle birlikte monte edilmesi gerekmektedir. Bunu /etc/fstab dosyasında bulunan dosya sistemi girişini güncelleyerek yapabilirsiniz.
sudo nano /etc/fstab
Dosyayı uygun şekilde düzenlemeye hazır olmalısınız. Bir fstab dosyası ile bir masaüstü dosya arasındaki fark, /
veya kök dosya sisteminin tüm disk alanını nasıl temsil ettiği arasındaki farktır. Aşağıdaki satırları kullanarak kök sisteme işaret eden (/)
satırını değiştirin.
LABEL=cloudimg-rootfs / ext4 usrquota,grpquota 0 0
Satırlar, userquota ve grpquota'nın erişilebilir olmasını sağlayacak şekilde değişecek. Son konfigürasyonun parçası olmayan bir tane bırakabilirsiniz. Fstab'ın bazı seçenekleri varsa yeni seçenekleri satırın sonuna ekleyin. Eklemeyi yaparken yeni öğeleri virgülle ancak aralarında boşluk bırakmadan ayırın.
Değişikliklerin etkili olması için dosya sistemini yeniden bağlayın.
sudo mount -o remount /
NOT: bu tür hataları önlemek için /etc/fstab dosyasındaki seçenekler arasında boşluk bulunmadığını doğrulayın.
mount: /etc/fstab: parse error
Dosya sistemini /proc/mounts dosyasına bağlarken yeni seçeneklerin kullanımının doğrulanması grep aracılığıyla yapılır. Komut, dosyadaki kök dosya sistemi girişini gösterir.
sudo cat /proc/mounts | grep ' / '
Çıktıda kurduğumuz iki seçeneği görebilirsiniz. Kota sistemini devreye almanın zamanı geldi.
Adım 4: Ubuntu'da Disk Kotalarını Etkinleştirme
Öncelikle quotacheck komutunu çalıştırmalısınız.
sudo quotacheck -ugm /
Komut, dosya sisteminin sınırı ve kullanımı hakkında bilgi içeren bir kota kullanıcısı ve bir kota grubu olmak üzere iki dosya oluşturur. Kotayı kullanmaya başlamadan önce bu dosyaların mevcut olması gerekir.
İşte parametrelerin bir tanımı:
-u
: kullanıcı bazlı kota dosyası oluşturulacağını sembolize eder.-g
: grup bazlı kota dosyası oluşturulacağını belirtir.-m
: dosya sisteminin salt okunur olarak yeniden bağlanmasını devre dışı bırakır ve aynı zamanda kullanıcının dosyaları kaydetmeye devam ettiği bir ortamda doğru sonuçlar verir. Kurulum sırasında m seçeneği zorunlu değildir.
Kullanıcı veya grup bazında kota kullanımının etkinleştirilmesine gerek olmadığında quotacheck seçeneğinin çalıştırılmasına gerek yoktur. ls komutunu kullanarak kök dizini listeleyerek bunu doğrulayın.
ls /
Örnek Çıktı
aquota.group bin dev home initrd.img.old lib64 media opt root sbin srv tmp var vmlinuz.old
aquota.user boot etc initrd.img lib lost+found mnt proc run snap sys usr vmlinuz
quotacheck komutuna u
ve g
parametreleri eklenmezse ilgili dosyalar eksik olacaktır.
Artık aşağıdaki komutla kök (/)
dosya sisteminde kotayı açmaya hazırız.
sudo quotaon -v /
5. Adım: Tek Kullanıcı için Kotaları Yapılandırma
Bunları kullanıcılar veya gruplar için ayarlamak amacıyla edquota ve setquota komutlarını kullanabiliriz.
Edquota'yı kullanma
edquota komutları kotaları düzenler; örneğin, bir tecmint kullanıcısına ait kotayı aşağıdakileri kullanarak düzenleyebiliriz:
sudo edquota -u tecmint
-u
seçeneğinin kullanılması kotanın bir kullanıcıya ait olduğunu belirtir. Bir gruba ait kotayı düzenlemeniz gerekiyorsa -g
seçeneğini kullanın. Komut, seçtiğiniz metin düzenleyiciyi kullanarak bir dosyayı açacaktır.
Çıktı, kullanıcı adını, kullanıcı kimliğini, etkin kotalara sahip dosya sistemini ve blok ve inode kullanımını listeler. Düğümlere dayalı bir kota, diskte kullandıkları boyuta bakılmaksızın kullanıcıların oluşturabileceği dosya ve dizin sayısını sınırlar. Çoğu Yönetici, disk alanını kontrol eden blok tabanlı kotayı tercih eder.
NOT: Blokların kullanımı, bunları raporlayan komut satırı aracı gibi farklı faktörlere bağlı olarak nasıl değişebileceğini göstermez. Ubuntu'daki bağlam kotaları dahilinde tek bir bloğun bir kilobayt disk alanına eşit olduğunu varsayabiliriz.
Kullanıcı, yukarıdaki komut satırını kullanarak 2032 blok kullanacaktır; bu, /dev/sda1'deki 2032 KB alanla aynıdır. 0 değeri hem yumuşak hem de sert sınırları devre dışı bırakır.
Her kota seti yumuşak ve sert limitlerin ayarlanmasına olanak tanır. Esnek sınırı aşan bir kullanıcı kotasını aşmış olabilir ancak daha fazla boşluk veya inode kullanması engellenmez. Böyle bir durumda kullanıcının yumuşak limitli alanını kullanmak için yedi günü vardır; bunun yapılmaması, dosyaları kaydetmeyi veya oluşturmayı zorlaştırır.
Kesin sınır, sınıra ulaştığınızda yeni blokların veya inode'ların oluşturulmasının durdurulması anlamına gelir. Kullanıcılar normal görevleri gerçekleştirirken uyarı veya hata gördüklerini bildireceklerdir.
Temint'in engelleme kotasını, 100MB ve 110MB yumuşak limite sahip olacak şekilde güncelleyebiliriz.
Düzenledikten sonra dosyayı kapatın ve kota komutunu kullanarak yeni kullanıcı kotası sınırı ayarlarını kontrol edin.
sudo quota -vs tecmint
NOT: Kullanıcılarınıza sudo komutunu çağırmadan kotalarını analiz etme fırsatı verildiğinden, kullanıcılara kota dosyalarını okuma erişiminin verilmesi gerekir. Dördüncü adımdaki oluşturma aşaması. Bunu yapmanın kolay bir yolu, bir kullanıcı grubu oluşturmak ve gruba kullanıcı ekleyebilmeniz için gruba erişim izni vermektir.
Belirlenen kotayı kullanma
setquota herhangi bir etkileşimli kurulum gerektirmeden tek bir komut kullanarak kota bilgilerini günceller. Komut, kullanıcı adını ve bloğun ve inode'un kullanacağı yumuşak ve sert sınırların ayarını gerektirir. Ayrıca kotanın kullanacağı dosya sistemini de bildirmeniz gerekecektir.
sudo setquota -u tecmint 200M 220M 0 0 /
Komut, blok tabanlı kota sınırlarını 200 megabayt ve 220 megabayt olacak şekilde ikiye katlar. İki 0 0
, hem donanım hem de yazılım sınırlarının ayarlanmadığını gösterir; inode tabanlı kotalar ayarlamaya gerek olmadığında bile bu bir gerekliliktir.
İlerlemenizi doğrulamak için her zamanki gibi kota komutunu kullanın.
sudo quota -vs tecmint
Adım 6: Kota Raporlarının Oluşturulması
Kota raporu oluşturulurken tüm kullanıcıların kullanımı belirtilmelidir. repquota komutu kullanılır.
sudo repquota -s /
Yukarıdaki çıktı /
kök dosya sistemiyle ilgili bir rapordur. -s
, repquota'ya sonuçları insan tarafından okunabilir bir biçimde verme talimatını verir.
Varsayılan Blok ek süre 7 gündür. Yetkisiz sütun, kaynak diske erişimin reddedilmesinden önceki gün sayısı konusunda kullanıcıyı uyarır.
Adım 7: Yapılandırma Yetkisiz Kullanım Sürelerini Ayarlayın
Yetkisiz kullanım süresi, kullanıcının varsayılan zamanlamanın ötesinde çalışma izni aldığı süredir.
sudo setquota -t 864000 864000 /
Komut, bloğa ve inode'a 864000 saniyelik, yani 10 güne eşdeğer bir ek süreye sahip olma talimatını verir. Ayar tüm kullanıcıları etkileyecektir, bu nedenle blokların ve inode'ların kullanılmayacağı durumlarda bile değerlerin ayarlanması gerekir. Zaman değeri saniye cinsinden olmalıdır.
Değişiklikleri onaylayın ve şu komutu kullanarak etkili olup olmadıklarına bakın:
sudo repquota -s /
Yaygın Hata Mesajları
quotaon: cannot find //aquota.group on /dev/vda1 [/]
quotaon: cannot find //aquota.user on /dev/vda1 [/]
Yukarıdaki hata, quotacheck komutunu kullanarak kota durumunu kontrol etmeye çalışmadan önce qoutaon komutunu kullanarak kotaları açmaya çalışırsanız sık görülür.
quotaon: using //aquota.group on /dev/vda1 [/]: No such process
quotaon: Quota format not supported in kernel.
quotaon: using //aquota.user on /dev/vda1 [/]: No such process
quotaon: Quota format not supported in kernel.
Bu hata, Yöneticiye çekirdeğin onu desteklemediğini veya makinede yanlış sürüme sahip olabileceğinizi bildirir (quota_v1 ve quota_v2'ye sahibiz). Ubuntu için bu tür hatalar, bulut tabanlı bir sanal sunucuda tipiktir.
apt komutunu kullanarak Linux-image-extra-virtual paketini yükleyerek hatayı düzeltin.
quota: Cannot open quotafile //aquota.user: Permission denied
quota: Cannot open quotafile //aquota.user: Permission denied
quota: Cannot open quotafile //quota.user: No such file or directory
Geçerli kullanıcının kota dosyalarını okuma izni olmadığında hata dikkat çekicidir. Yönetici olarak yalnızca kota sistemindeki veya dosyadaki dosyalara erişmeniz gerektiğinde doğru izin değişikliklerini yapmanız veya sudo kullanmanız gerekir.
Çözüm
Makalenin başında kota komut satırı araçları ve çekirdek sürümünün doğrulanması ile başladık ve daha da ileri giderek tek bir kullanıcı için blok bazlı kotanın nasıl ayarlanacağını ve nasıl yapılacağını açıkladık. dosya sistemi kota kullanımına ilişkin bir rapor oluşturun.
Makale ayrıca yaygın hataları ve ekstra bir paket kullanarak veya sisteminizdeki çekirdek sürümünü doğrulayarak bunlardan nasıl kaçınabileceğinizi de kapsar.