Fstab neden gerçek dosya sistemi adı yerine UUID kullanıyor?


21

Örneğin, bu benim ilk satırım /etc/fstab:

UUID=050e1e34-39e6-4072-a03e-ae0bf90ba13a    /    ext4    errors=remount-ro    0    1

Ve işte df -hkomutun çıktısı (boş disk alanı bildiriliyor):

honey@bunny:~$ df -T

Filesystem     Type     1K-blocks    Used Available Use% Mounted on
/dev/vda       ext4      30832636 4884200  24359188  17% /
none           tmpfs            4       0         4   0% /sys/fs/cgroup
udev           devtmpfs    498172      12    498160   1% /dev
tmpfs          tmpfs       101796     320    101476   1% /run
none           tmpfs         5120       0      5120   0% /run/lock
none           tmpfs       508972       0    508972   0% /run/shm
none           tmpfs       102400       0    102400   0% /run/user
  1. İki itibaren bu anlamak için iyidir UUID=050e1e34-39e6-4072-a03e-ae0bf90ba13atemsil /dev/vdailk sütun göz önüne alındığında fstabise <file system>?

  2. Peki, bunu değiştirirsem sorun olur /etc/fstabmu?

    /dev/vda    /    ext4    errors=remount-ro    0    1
    
  3. EDIT: Evetse (yukarıdaki soruya), sudo blkidkomut neden farklı bir UUID gösteriyor /dev/vda?

    $ sudo blkid
    
    /dev/vda: LABEL="DOROOT" UUID="6f469437-4935-44c5-8ac6-53eb54a9af26" TYPE="ext4"
    

    Burada neyi özlüyorum?

    Cevap: Ev sahibimin bulutunda (3) bir böcek olduğu sonucuna vardım. Bu yüzden evet, blkid(veya ls -l /dev/disk/by-uuid) tarafından bildirilen UUID , kullanılan ile aynı olmalıdır /etc/fstab.


UUID'yi sudo blkidkomutla kontrol edin .
Avinash Raj

@AvinashRaj Hmm, garip bir şekilde, sudo blkidkomut için farklı bir UUID çıktılar /dev/vda. Bu benim kafamı karıştırıyor. :) (Güncelleme sorusu.)
its_me

Blkid komutunun farklı bir UUID gösterdiği iyi bir işaret değildir - lütfen geçerli UUID'yi `ls -l / dev / disk / by-uuid '' ile kontrol edin. VDA’sı, altta yatan VM altyapısının bir şeyleri değiştirmiş olabilir mi?
tasfiye

Bu @liquidat bende çıktısı: lrwxrwxrwx 1 root root 9 Jun 18 11:04 6f469437-4935-44c5-8ac6-53eb54a9af26 -> ../../vda. Diğer sorunuza gelince, bunun hakkında web sunucusuyla iletişim kuracağım.
its_me

Fstab girişi yanlış olduğu için makinenin yeniden başlatılamayacağını söyleyebilirim. Klonlanmış bir disk veya başka bir şey olabilir. Fstab'ta verilen UUID'ye sahip başka bir cihaz olmadığını kabul ediyorum.
tasfiye

Yanıtlar:


22

UUID kullanmanın avantajı, işletim sisteminin sabit diskinize verdiği gerçek cihaz numarasından bağımsız olmasıdır.

Sisteme başka bir sabit disk eklediğinizi hayal edin ve bir nedenden dolayı OS eski diskinizin sdbyerine şimdi olduğuna karar verir sda.

fstabCihaz ismine işaret ederse açılış işleminiz berbatlaşır . Ancak UUID'lerin durumunda, sorun değil.

UUID'ler hakkında daha ayrıntılı bilgiyi "UUID'ler ve Linux: Bilmeniz gereken her şey" başlıklı blog yazısında da bulabilirsiniz.


Evet. yeni bir disk eklemeden bile, çekirdeğiniz bir gün sürücü disklerinin iki bağını değiştirmeye karar verebilir. Bkz wiki.archlinux.org/index.php/Persistent_block_device_naming
Tommy

görüntüyü farklı bir UUID'ye sahip başka bir diske kopyalamak istersem ne olur?
aloplop85 21:16

UUID'lerin daha az kullanışlı olduğu en az bir durum var: tüm diski klonlarsanız, ardından yeniden başlatın, diskleri ya da yanlış diskten montaj bölümleri alabilirsiniz.
boot13 21

Bu doğru - bağlantılı blog gönderisini kontrol et, kullanmadıklarında bile bir bölümü var.
tasfiye

Diski klonlarsanız, yeni diskteki UUID'yi değiştirmelisiniz. tune2fs xfs_admin veya reiserfstune dosya sisteminize bağlı olarak bunu yapabilir.
steveayre

3

Bu durumda, / etc / fstab dosyasını değiştirebilir miyim?

Sen can ve olacak muhtemelen düzelecek, ancak büyük olasılıkla UUID'sini bırakmak daha iyi olacaktır.

UUID'ler , bu durumda, bir blok cihazındaki bir bölümü tanımlamak için kullanılan rastgele dizelerdir; bölümle birlikte saklanır ve istenirse farklı bir tane atanabilir (MAC adresleri gibi).

UUID kullanmanın avantajı, bunun açık /dev/vdaolması; o olabilir açılışta farklı bir sürücü olmak biter bu bağlamda tamamen teorik olsa da (örneğin yalnızca belirli bir türdeki bir sürücü var çünkü,) gibi olur.

Cihaz adını kullanmanın bir soruna neden olabileceği konusunda daha ince bir örnek, bazı sistemlerde tutarlı ağ cihazı adları kullanmaya son geçiş olabilir . Bu bir yükseltme olarak ortaya çıktıysa ve bir yerde bir komut dosyasında bir kodlanmış aygıt adı kullandıysanız, kırılır. Paralel bir örnek WRT blok cihazı, adlandırma düzenini değiştiren bir çekirdek veya udev yükseltmesi olabilir.

UUID'lerin bir noktası bu tür şeyleri mümkün ve acısız yapmaktır. Eğer süre Yani yapabilirsiniz aygıt adı kullanın hiçbir avantaj Bunu yapmadan orada sürece (örneğin) Eğer farklı sürücüler takas bir sistemimiz var. Bir başka deyişle, bu, yapmak için iyi bir neden yoksa ile sopa UUID .


Tamam. Öyleyse, /dev/vdaiçinde /etc/fstabbildirilen ve bildirilen farklı UUID'leri ne açıklar blkid? (Lütfen
sormadıysanız

5
Bir güncelleme sormaktansa, bunu ayrı bir soru olarak sormalısınız ("Neden takılı bölümüm UUID fstab'dekinden farklı?").
goldilocks

2

Dosyanın man fstabiçeriği ve anlamıyla ilgili oldukça kısa ve öz bir okuma yapabilirsiniz /etc/fstab. Benim x86'mda, oldukça güncel olan Arch linux sunucusu, man fstabbana şunu veriyor:

The second field ... describes  the mount point for the filesystem.

Bu yüzden, evet, /dev/vdagörünüşe göre, UUID=050e1e34-39e6-4072-a03e-ae0bf90ba13aher iki ismin de "/" üzerine monte edilmiş olduğu göz önüne alındığında , bazı cihazlar için birçok isimlerden biri .

Eğer dizinde bak /dev/disk/by-uuid/şeylere gelin gibi o sembolik bağlantıları görebilir /dev/sda1, /dev/sdb1benim sunucuda. Bu, hipotezinizi kontrol etmenin başka bir yolu olabilir. /dev/diskalt dizinleri vardır by-id, by-path, by-uuidhepsi aynı cihaz için alternatif isimler olarak görünmektedir.


Bu durumda, sorun (sorumu güncellediğim gibi) bunun için iki farklı UUID alıyorum /dev/vda! Lütfen soruyu bir kez daha görün.
its_me

1
Asıl soruyu cevapladıysam, “cevaplandı” olarak işaretlemek ve yeni bir soru yazmak iyi bir fikir olabilir, bu nedenle alakasız cevaplar, orijinalle çalışan ve değiştirilen soruyla cevap vermeyen cevaplar toplamazsınız.
Bruce Ediger
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.