/dev/sdaadalah disk pertama yang entah SCSI atau (lebih mungkin) menyediakan drive SCSI API ke pengguna tanah. Ini termasuk drive SATA dan drive IDE menggunakan libata. Ini juga bisa berupa IDE / SATA / SCSI / dll. drive ditiru oleh hypervisor.
/dev/vdaadalah disk pertama yang menggunakan driver disk virtualisasi-sadar. Kinerja harus jauh lebih baik, karena hypervisor tidak harus meniru beberapa antarmuka perangkat keras.
Jika disk telah terkena VM Anda di kedua antarmuka, Anda harus memilih /dev/vdakarena hampir pasti akan lebih cepat.
Apa yang menjadi tujuan memiliki kedua perangkat / dev / sdX & / dev / vdX di mesin?
chromechris
1
@ user42076 Satu-satunya hal yang dapat saya pikirkan adalah perusahaan hosting yang tidak tahu persis apa OS yang Anda jalankan pada VM-nya dapat menawarkan kedua antarmuka, jika OS Anda tidak mendukung lebih cepat /dev/vda. Selain itu ... tidak tahu mengapa Anda melakukannya. Jika Anda benar-benar melihatnya dilakukan di suatu tempat, mungkin itu layak untuk ditanyakan sendiri.
derobert
@ user42076 Ya, saya akan bertanya tentang ini. . . . . lol
chromechris
15
/dev/sdxdan /dev/hdxmerupakan drive disk fisik (keras) atau drive disk fisik (keras) yang diemulasikan. Ketika kernel atau program I / O's untuk ini, ia melakukan segala macam hal seperti membawa disk ke tempat yang tepat dan melakukan segala macam "barang" spesifik fisik.
/dev/vdxadalah untuk drive disk virtual (keras). Semua kernel tidak ketika itu I / O akan memberitahu perangkat lunak virtualisasi bahwa bit perlu dibaca / ditulis dan selesai. Secara umum, vdxini lebih cepat karena kernel tidak perlu memberitahu hard drive untuk melakukan sejumlah sampah acak yang benar-benar tidak diperlukan karena hanya perlu memberitahu hypervisor VM untuk melakukan hal-hal.
Saya minta maaf untuk kata "barang," saya tidak bisa memikirkan kata yang lebih baik: D
Kata itu banyak ekspresif - terima kasih atas jawaban Anda.
mikeserv
1
Barang? Anda tidak dapat memikirkan "sesuatu" atau "operasi IO yang diminta". Permintaan maaf tidak diterima. ;)
Johan
4
Dalam udevaturan di /lib/udev/rules.d/*didefinisikan jenis perangkat keras mana yang mendapatkan nama dari kernel.
Lihat aturan untuk /dev/vd*:
# partitions do not have hardware identifiers
ENV{DEVTYPE}!="disk", GOTO="persistent_storage_not_a_disk"
# nor do paravirtualized hard disks
KERNEL=="vd*", GOTO="persistent_storage_not_a_disk"
...
KERNEL=="vd*", ATTRS{serial}=="?*", \
ENV{ID_BUS}="virtio", ENV{ID_SERIAL}="$attr{serial}"
Begitu /dev/vdajuga yang pertama, hard drive virtual (tidak ada pengidentifikasi perangkat keras) dan id bus virtio. Sepertinya tamu qemu / kvm.
Aturan udev untuk /dev/sd*perangkat dapat berupa tipe perangkat keras yang lebih berbeda: scsi, ata, ieee1394, usb, ...
/dev/ adalah bagian dalam pohon direktori unix yang berisi semua file "perangkat" - unix secara tradisional memperlakukan hampir semua yang dapat Anda akses sebagai file untuk dibaca atau ditulis.
Jadi pada intinya, /dev/sdasemua file perangkat ditemukan di Harddrive Anda sedangkan /dev/vdasemua file perangkat ditemukan di ruang yang dialokasikan untuk mesin virtual Anda.
Satu cara yang cukup mendasar di mana /dev/.dafile - file perangkat ini berbeda yang belum disebutkan adalah bahwa mereka mewakili nomor-nomor utama kernel yang berbeda . Jika Anda mengikuti tautan itu, Anda akan mendarat di halaman dokumentasi sumber kernel yang berisi tabel sebagian besar semua nomor utama perangkat yang dialokasikan. File yang sama ini juga sangat mungkin ada di harddisk Anda di suatu tempat.
Inilah yang diajukan CTRL-F singkat untuk saya mengenai pertanyaan Anda:
112 block IBM iSeries virtual disk
0 = /dev/iseries/vda First virtual disk, whole disk
8 = /dev/iseries/vdb Second virtual disk, whole disk
...
200 = /dev/iseries/vdz 26th virtual disk, whole disk
208 = /dev/iseries/vdaa 27th virtual disk, whole disk
...
248 = /dev/iseries/vdaf 32nd virtual disk, whole disk
Partitions are handled in the same way as for IDE
disks (see major number 3) except that the limit on
partitions is 7.
The 112nomor yang tercantum di atas menunjukkan angka utama dialokasikan dan berbagai 0...8...200nomor yang terdaftar sebelum setiap baris menunjukkan kemungkinan rentang jumlah kecil. Angka-angka ini, di antara banyak hal lain, digunakan oleh kernel linux untuk memasangkan modul driver dengan perangkat fisik - mereka mengidentifikasi tipe perangkat.
Daftar di atas menyumbang 3 dari 4 pertandingan yang ditemukan dengan CTRL-F - inilah yang keempat:
202 block Xen Virtual Block Device
0 = /dev/xvda First Xen VBD whole disk
16 = /dev/xvdb Second Xen VBD whole disk
32 = /dev/xvdc Third Xen VBD whole disk
...
240 = /dev/xvdp Sixteenth Xen VBD whole disk
Partitions are handled in the same way as for IDE
disks (see major number 3) except that the limit on
partitions is 15.
Tampaknya ada kecenderungan di antara vdajenis blok. Perhatikan bahwa ini mungkin tidak sepenuhnya terbaru dalam dokumentasi - bahkan sebagaimana ditautkan di kernel.org. Bagaimanapun, para devs hanyalah manusia. Tetapi sumber ketidaksesuaian lain yang mungkin adalah di mana pengelola distribusi Anda memilih untuk menemukan perangkat. Sejumlah besar jalur yang terdaftar jumlahnya tidak lebih dari saran - ada banyak cara untuk memindahkannya.
Dan inilah sda:
8 block SCSI disk devices (0-15)
0 = /dev/sda First SCSI disk whole disk
16 = /dev/sdb Second SCSI disk whole disk
32 = /dev/sdc Third SCSI disk whole disk
...
240 = /dev/sdp Sixteenth SCSI disk whole disk
Partitions are handled in the same way as for IDE
disks (see major number 3) except that the limit on
partitions is 15.
Seperti yang sudah dicatat - jalur ini sangat dapat dikonfigurasi - tetapi bilangan utama / minor sendiri berfungsi sebagai pengidentifikasi yang cukup eksplisit. Anda dapat memeriksanya dengan statpanggilan ke file perangkat.
Itu milik saya /dev/sda. Ada banyak informasi di sana, tetapi di sebelah kanan Anda dapat melihat bahwa Device Typeitu ditentukan sebagai nomor utama 8, nomor kecil 0. Anda dapat id hampir semua file perangkat dengan cara itu dengan membandingkan maj / min ke tabel yang ditautkan.
Jawaban:
Mereka adalah perangkat yang berbeda.
/dev/sda
adalah disk pertama yang entah SCSI atau (lebih mungkin) menyediakan drive SCSI API ke pengguna tanah. Ini termasuk drive SATA dan drive IDE menggunakan libata. Ini juga bisa berupa IDE / SATA / SCSI / dll. drive ditiru oleh hypervisor./dev/vda
adalah disk pertama yang menggunakan driver disk virtualisasi-sadar. Kinerja harus jauh lebih baik, karena hypervisor tidak harus meniru beberapa antarmuka perangkat keras.Jika disk telah terkena VM Anda di kedua antarmuka, Anda harus memilih
/dev/vda
karena hampir pasti akan lebih cepat.sumber
/dev/vda
. Selain itu ... tidak tahu mengapa Anda melakukannya. Jika Anda benar-benar melihatnya dilakukan di suatu tempat, mungkin itu layak untuk ditanyakan sendiri./dev/sdx
dan/dev/hdx
merupakan drive disk fisik (keras) atau drive disk fisik (keras) yang diemulasikan. Ketika kernel atau program I / O's untuk ini, ia melakukan segala macam hal seperti membawa disk ke tempat yang tepat dan melakukan segala macam "barang" spesifik fisik./dev/vdx
adalah untuk drive disk virtual (keras). Semua kernel tidak ketika itu I / O akan memberitahu perangkat lunak virtualisasi bahwa bit perlu dibaca / ditulis dan selesai. Secara umum,vdx
ini lebih cepat karena kernel tidak perlu memberitahu hard drive untuk melakukan sejumlah sampah acak yang benar-benar tidak diperlukan karena hanya perlu memberitahu hypervisor VM untuk melakukan hal-hal.Saya minta maaf untuk kata "barang," saya tidak bisa memikirkan kata yang lebih baik: D
sumber
Dalam
udev
aturan di/lib/udev/rules.d/*
didefinisikan jenis perangkat keras mana yang mendapatkan nama dari kernel.Lihat aturan untuk
/dev/vd*
:Begitu
/dev/vda
juga yang pertama, hard drive virtual (tidak ada pengidentifikasi perangkat keras) dan id busvirtio
. Sepertinya tamu qemu / kvm.Aturan udev untuk
/dev/sd*
perangkat dapat berupa tipe perangkat keras yang lebih berbeda: scsi, ata, ieee1394, usb, ...sumber
/dev/
adalah bagian dalam pohon direktori unix yang berisi semua file "perangkat" - unix secara tradisional memperlakukan hampir semua yang dapat Anda akses sebagai file untuk dibaca atau ditulis.Jadi pada intinya,
/dev/sda
semua file perangkat ditemukan di Harddrive Anda sedangkan/dev/vda
semua file perangkat ditemukan di ruang yang dialokasikan untuk mesin virtual Anda.sumber
Satu cara yang cukup mendasar di mana
/dev/.da
file - file perangkat ini berbeda yang belum disebutkan adalah bahwa mereka mewakili nomor-nomor utama kernel yang berbeda . Jika Anda mengikuti tautan itu, Anda akan mendarat di halaman dokumentasi sumber kernel yang berisi tabel sebagian besar semua nomor utama perangkat yang dialokasikan. File yang sama ini juga sangat mungkin ada di harddisk Anda di suatu tempat.Inilah yang diajukan CTRL-F singkat untuk saya mengenai pertanyaan Anda:
The
112
nomor yang tercantum di atas menunjukkan angka utama dialokasikan dan berbagai0...8...200
nomor yang terdaftar sebelum setiap baris menunjukkan kemungkinan rentang jumlah kecil. Angka-angka ini, di antara banyak hal lain, digunakan oleh kernel linux untuk memasangkan modul driver dengan perangkat fisik - mereka mengidentifikasi tipe perangkat.Daftar di atas menyumbang 3 dari 4 pertandingan yang ditemukan dengan CTRL-F - inilah yang keempat:
Tampaknya ada kecenderungan di antara
vda
jenis blok. Perhatikan bahwa ini mungkin tidak sepenuhnya terbaru dalam dokumentasi - bahkan sebagaimana ditautkan di kernel.org. Bagaimanapun, para devs hanyalah manusia. Tetapi sumber ketidaksesuaian lain yang mungkin adalah di mana pengelola distribusi Anda memilih untuk menemukan perangkat. Sejumlah besar jalur yang terdaftar jumlahnya tidak lebih dari saran - ada banyak cara untuk memindahkannya.Dan inilah
sda
:Seperti yang sudah dicatat - jalur ini sangat dapat dikonfigurasi - tetapi bilangan utama / minor sendiri berfungsi sebagai pengidentifikasi yang cukup eksplisit. Anda dapat memeriksanya dengan
stat
panggilan ke file perangkat.Itu milik saya
/dev/sda
. Ada banyak informasi di sana, tetapi di sebelah kanan Anda dapat melihat bahwaDevice Type
itu ditentukan sebagai nomor utama 8, nomor kecil 0. Anda dapat id hampir semua file perangkat dengan cara itu dengan membandingkan maj / min ke tabel yang ditautkan.sumber