sự khác biệt giữa / dev / vda và / dev / sda là gì


16

Tôi đang chuẩn bị chứng nhận và có một CentOS7 (VirtualBox) được cài đặt cục bộ và một phiên bản khác trong dịch vụ dựa trên đám mây.

Trên hệ thống cục bộ tôi có một /dev/sdavà trên nền tảng đám mây tôi có một /dev/vda.

Bây giờ tôi đang tự hỏi sự khác biệt này chính xác có nghĩa là gì? Có một tiêu chuẩn (tài liệu?) Cho việc đặt tên cho thiết bị này không, và các tên khác nhau có nghĩa là gì?

Biên tập:

Tôi nghĩ rằng tài liệu này rất hữu ích để hiểu cách đặt tên: https://www.kernel.org/doc/Documentation/admin-guide/devices.txt

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

Nhưng tôi không thể tìm thấy một số thông tin về / dev / vda.


Câu trả lời:


15

Ảo hóa hoàn toàn so với Paravirtualization

/ dev / sda là đĩa được phát hiện đầu tiên của loại IDE / SATA / SCSI. Trong trường hợp này, được mô phỏng (ảo hóa hoàn toàn) bởi nhà ảo thuật.

/ dev / vda là trình điều khiển đĩa paravirtualizated được phát hiện đầu tiên. Nó nhanh hơn các thiết bị sdX được mô phỏng nếu cả hai được tham chiếu vào cùng một đĩa, bởi vì có ít chi phí hoạt động hơn so với ổ đĩa được mô phỏng.

Người giới thiệu:


Từ http://www.ibm.com/developerworks/l Library / l-virtio / :

Ảo hóa hoàn toàn so với ảo hóa

Chúng ta hãy bắt đầu với một cuộc thảo luận nhanh về hai loại sơ đồ ảo hóa khác nhau: ảo hóa hoàn toàn và ảo hóa. Trong ảo hóa hoàn toàn, hệ điều hành khách chạy trên đỉnh của một trình ảo hóa nằm trên kim loại trần. Khách không biết rằng nó đang được ảo hóa và không yêu cầu thay đổi để hoạt động trong cấu hình này. Ngược lại, trong paravirtualization, hệ điều hành khách không chỉ biết rằng nó đang chạy trên một trình ảo hóa mà còn bao gồm mã để làm cho quá trình chuyển đổi từ máy khách sang máy ảo hiệu quả hơn.

Trong sơ đồ ảo hóa hoàn toàn, bộ ảo hóa phải mô phỏng phần cứng thiết bị, được mô phỏng ở mức thấp nhất của cuộc hội thoại (ví dụ: với trình điều khiển mạng). Mặc dù mô phỏng sạch sẽ ở mức trừu tượng này, nhưng nó cũng không hiệu quả nhất và rất phức tạp. Trong sơ đồ paravirtualization, khách và nhà ảo thuật có thể hợp tác để làm cho việc mô phỏng này hiệu quả. Nhược điểm của phương pháp paravirtualization là hệ điều hành nhận thức được rằng nó đang được ảo hóa và yêu cầu sửa đổi để hoạt động.

Từ http://www.carfax.org.uk/docs/qemu-virtio :

Thiết bị paravirtual là gì?

Khi chạy một máy ảo, môi trường ảo phải hiển thị các thiết bị cho HĐH khách - đĩa và mạng là hai chính (cộng với video, USB, bộ hẹn giờ và các thiết bị khác). Thực tế, đây là phần cứng mà máy khách VM nhìn thấy.

Bây giờ, nếu khách phải hoàn toàn không biết gì về thực tế là nó được ảo hóa, điều này có nghĩa là máy chủ phải mô phỏng một số loại phần cứng thực sự. Điều này khá chậm (đặc biệt đối với các thiết bị mạng) và là nguyên nhân chính làm giảm hiệu suất trong các máy ảo.

Tuy nhiên, nếu bạn sẵn sàng cho HĐH khách biết rằng đó là trong môi trường ảo, có thể tránh được chi phí giả lập phần lớn phần cứng thực và sử dụng đường dẫn trực tiếp hơn để xử lý các thiết bị bên trong VM. Cách tiếp cận này được gọi là paravirtualisation. Trong trường hợp này, HĐH khách cần một trình điều khiển cụ thể được cài đặt để nói chuyện với thiết bị ảo. Trong Linux, giao diện này đã được chuẩn hóa và được gọi là giao diện "virtio".


3
Đặc biệt, /dev/vd*các thiết bị đang sử dụng virtiotrình điều khiển đĩa paravirtual.
Michael Hampton

@MichaelHampton Tôi đã cải thiện câu trả lời của mình với thông tin này! Cảm ơn!
Thiago Rider Augusto

4
Ngoài ra, trình điều khiển virtio-scsi nhanh hơn trình điều khiển virtio-blk, địa chỉ các ổ đĩa bằng sd *. Vì vậy, vd * không phải lúc nào cũng nhanh hơn Tất cả những gì nó biểu thị là một thiết bị khối được xử lý trực tiếp bởi trình điều khiển ảo hóa, thay vì một thiết bị khối được xử lý bằng mô phỏng phần cứng hoặc gián tiếp bởi bộ điều khiển ảo hóa.
đệm
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.