Bölüm boyutu ve df çıktısı neden farklı?


16

/ Dev / sda1 bölümüm var.
Disk yardımcı programı 154 GB kapasiteye sahip olduğunu gösterir.
df -h gösterileri

Filesystem            Size  Used Avail Use% Mounted on
/dev/sda1             123G  104G   14G  89% /
devtmpfs             1006M  280K 1006M   1% /dev
none                 1007M  276K 1006M   1% /dev/shm
none                 1007M  216K 1006M   1% /var/run
none                 1007M     0 1007M   0% /var/lock
none                 1007M     0 1007M   0% /lib/init/rw

Sonuçlar neden farklı? Eksik olan 31 GB nerede?


3
Lütfen fdisk -l /dev/sda(root olarak çalıştır) çıktısını gönderin .
Gilles 'SO- kötü olmayı durdur

2
Hangi dosya sistemini kullanıyorsunuz? Ext2 / 3/4 tune2fs -l /dev/sda1ise incelemek için kullanabilirsiniz . Blok sayısı ve blok boyutuna bakın ve dosya sistemi boyutunu elde etmek için bunları çarpın. Ayrıca, fdisk -s /dev/sda11k-bloklarda bölüm boyutunu almak için. Bayt cinsinden boyutu almak için bunu 1024 ile çarpın. Bu sayı, dosya sisteminden sadece biraz daha büyük olmalıdır. 40GB ext4 bölümümde 3072 bayt daha büyük. Dosya sisteminiz garip bir şekilde küçükse, yeniden boyutlandırmayı deneyebilirsiniz. Ext2 / 3/4 için kullanın resize2fs /dev/sda1. Bilgisayarı normal şekilde kullanırken bunu yapabilirsiniz.
penguin359

@Gilles sudo fdisk -l / dev / sda gösterileri (Sadece sda1 bölümünü gönderiyorum, çünkü diğerleri bizi ilgilendirmiyor). Aygıt Önyükleme Başlangıç ​​Sonu Blokları Kimlik Sistemi / dev / sda1 1 18706 150253568 83 Linux
xralf

@ penguin359 ext4 dosya sistemim var. blok sayısı = 32668162, blok boyutu = 4096, 32668162 * 4096 = 133808791552, fdisk -s / dev / sda1 * 1024 = 153859653632. Tuhaf bir şekilde daha küçük görünüyor. Veri kaybı olmadan yeniden boyutlandırabilir miyim? Daha küçük olmasına ne sebep oldu?
xralf

@xralf: yeniden boyutlandırma güvenli olmalı, bunu yaparken verileri hiç kaybetmedim. Örneğin, canlı bir cd ile monte edilmemiş bir bölüme yapmak biraz daha güvenli olabilir. Ama yine de, önce kendine bir yedek al. Büyük sys yönetici işlerini yapmadan önce her zaman bir yedek alın.
Faheem Mitha

Yanıtlar:


25

Bölüm kapasitelerinin farklı olmasının bir nedeni, bölümlerin dolması durumunda bir miktar kök için ayrılmıştır. Kök için ayrılmış bir alan yoksa ve bölümler dolarsa, sistem çalışmaz. Ancak, bu fark genellikle% 1 düzeyindedir, bu nedenle davanızdaki farkı açıklamaz. Df için man sayfasından

Bağımsız değişken, takılı bir dosya sistemi içeren bir disk aygıtı düğümünün mutlak dosya adı ise, df, aygıt düğümünü içeren dosya sisteminde (her zaman kök dosya sistemi olan) değil, o dosya sisteminde kullanılabilir alanı gösterir.

Yani df dosya sisteminizin boyutunu gösterir, ki bu genellikle cihazın boyutudur, ancak bu sizin durumunuzda doğru olmayabilir. Dosya sisteminiz bölümünüzün tamamına yayılıyor mu?

mu

resize2fs /dev/sda1

fark yaratır mı? Bu komut, dosya sisteminizi tüm bölümü kapsayacak şekilde artırmaya çalışır. Ancak bunu denerseniz bir yedeğiniz olduğundan emin olun.


>> Dosya sisteminiz tüm bölüme yayılıyor mu? Bence de. Bu ext4. <br> Ne yedeklemeliyim? Daha büyük yedekleme yapmak için ikincil diskim yok.
xralf

@xralf: (Tamam, bu soru açısından konu dışı, ama ...) Yedeklemeniz yoksa hemen bir tane oluşturun. İyi bir yedeklemenin tek alternatifi (ve iyi bir alternatif değildir), dağıtılmış bir sürüm kontrol sisteminin sistematik olarak kullanılması ve uzak bir yere itilmesidir. Ama elbette, her şeyi sürüm kontrolü altına alamazsınız. medya. Meşgul olduğum için lütfen özür dilerim.
Faheem Mitha

@xralf: Çıktı sonuçlarınızı sorunun kendisinde yayınlarım, görmek ve okumak daha kolaydır.
Faheem Mitha

resize2fs oldukça güvenli bir işlemdir, yedeklemeye gerek yoktur (kararlı bir gücünüz varsa ve kararlı bir yazılım kullanıyorsanız). BTW, ext * dosya sistemleri için varsayılan ayrılmış blok sayısı% 5'tir.
rvs

@rvs: yedeklemeye katılmıyorum. Debian'da en az% 5 haklısın. Yanlış hatırlıyordum. Ancak bunun tüm dağıtımlarda standart olup olmadığını bilmiyorum.
Faheem Mitha

5

Temel fark, bazı şeylerin 1 kilobaytın 1000 bayt olduğunu ve bazılarının 1 kilobaytın 1024 bayt olduğunu söylüyor.

Gnome Disk Utility 1 kilobayt = 1000 bayt kullanan kapasiteyi gösterir, çünkü disk üreticileri disk boyutlarını bu şekilde tanımlar. Bu, disk kapasitenizin 154.000.000.000 bayta yakın olduğu anlamına gelir .

Öte yandan, çoğu işletim sistemi 1 kilobayt = 1024 bayt der. Tüm araçlar bu sözleşmeyi beğenir dfve fdiskkullanır. Yani 154.000.000.000 bayt / 1024/1024/1024 = 143.4 GB .

Jlliagre haklı olarak işaret ettiği gibi (ve Gilles fdiskçıktınızı isterken ima ediyor ), disk yardımcı programı size tüm sabit diskinizin boyutunu söylüyor. Ancak /dev/sda1sabit diskinizdeki tek bir bölümdür. Örneğin, sabit diskinizde muhtemelen takas için 4-8 GB bölüm (sanal bellek olarak da bilinir) ve genellikle yaklaşık 100 MB olan bir önyükleme bölümü gibi başka bölümler bulunur.

Çıktısını göndermediniz fdisk -l /dev/sda, bu yüzden takas bölümünüzün 8 GB olduğunu varsayalım. Şimdi 135 GB'a düştük .

Sonra, farklılığa katkıda bulunan başka şeyler var.

Örneğin, dosya sistemi meta veriler için bazı disk bölümlerini kullanır. Meta veriler, dosya adları, dosya izinleri, bölümün hangi bölümlerinin hangi dosyalara ait olduğu ve bölümün hangi bölümlerinin ücretsiz olduğu gibi şeylerdir. Sistemimde, bölümün yaklaşık% 2'si bunun için kullanılır. Sizinkine benzer olduğunu varsayarsak, boş alanı yaklaşık 132 GB'a düşürür .

Dosya sistemi, yalnızca kök kullanıcı tarafından kullanılabilecek bir alan ayırabilir. Sistemimde, bölümün% 5'i, yani sizin durumunuzda, yaklaşık 125 GB'lık toplam kapasite anlamına gelir .

Tam sayılar ext2, ext3, ext4, fat, ntfs, btrfs, vb. Kullandığınıza ve bölümü biçimlendirirken hangi ayarların kullanıldığına bağlıdır.

Ext2 veya ext3 kullanıyorsanız sudo tune2fs -l /dev/sda1, alanın nereye gittiğini anlamanıza yardımcı olabilir.


Disk yardımcı programı tam kapasite 154 GB (153.859.653.632 bayt) gösterir.
xralf

>> sudo tune2fs -l / dev / sda1 << Hangi parametreler bana alanın nereye gittiğini söylüyor?
xralf

2

Muhtemelen inotlar tarafından kullanılırlar. MBR tarafından bir miktar kullanılabilir.


1
MBR, silindir 0'da olduğu gibi görünmez (genellikle sektör 2048'de başlayan ilk bölümde bile değil). Ancak süper bloğun kopyaları vardır. Yine de, bu inode. Ayrıca bkz: unix.stackexchange.com/questions/13547/… ve "lsblk / dev / sdX" ve "dumpe2fs -h / dev / sdX" komutları
David Tonhofer

1

sda1 tüm diskiniz değil, ilk birincil bölümüdür. Df çıktısında görünmeyen veya sda1'in herhangi bir nedenle tüm kullanılabilir alanı doldurmadığı veya dosya sisteminin kendi bölümündeki tüm kullanılabilir alanı kullanmadığından başka monte edilmemiş bölümler oluşturmuş olabilirsiniz.

fdisk -l bölüm tablonuzun nasıl göründüğünü söyleyecektir.


Elbette. Tüm diskten değil, yalnızca / dev / sda1 bölümünden bahsediyoruz.
xralf

Çıktısını göstermeden bir disk yardımcı programına atıfta bulunduğunuzda, bu sorunuzdan anlaşılamamıştır. Bunu netleştirmek için düzenlemelisiniz. / Dosya sistemini nasıl oluşturduğunuzu söylemek de faydalı olacaktır.
jlliagre

Disk yardımcı programının çıktısının ilgili kısmı "sda1 bölümünün kapasitesi = 154 GB" dır.
xralf

Bunu netleştirmek için lütfen orijinal sorunuzu düzenleyin.
jlliagre
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.