सैमसंग PM1733/1735 NVMe SSDs SR-IOV सपोर्ट की घोषणा करते हैं। और मुझे PM1735 SSD के साथ NVMe SR-IOV वातावरण स्थापित करने की उम्मीद है। मेरे SSD का देव विवरण /dev/nvme1 है।

हालाँकि, मैंने जैसे आदेशों के साथ प्रयास किया echo 4 > /sys/class/nvme/nvme1/device/sriov_numvfs.

Dmesg जानकारी में शामिल है कि

[ 1239.732278] nvme nvme2: pci function 0000:86:00.1
[ 1239.732359] nvme 0000:86:00.1: enabling device (0000 -> 0002)
[ 1239.732365] pci 0000:86:00.2: [144d:a824] type 00 class 0x010802
[ 1239.733053] iommu: Adding device 0000:86:00.2 to group 164
[ 1239.733402] nvme nvme3: pci function 0000:86:00.2
[ 1239.733473] pci 0000:86:00.3: [144d:a824] type 00 class 0x010802
[ 1239.733477] nvme 0000:86:00.2: enabling device (0000 -> 0002)
[ 1239.734117] iommu: Adding device 0000:86:00.3 to group 165
[ 1239.734485] nvme nvme4: pci function 0000:86:00.3
[ 1239.734557] pci 0000:86:00.4: [144d:a824] type 00 class 0x010802
[ 1239.734782] nvme 0000:86:00.3: enabling device (0000 -> 0002)
[ 1239.735066] iommu: Adding device 0000:86:00.4 to group 166
[ 1239.735352] nvme nvme5: pci function 0000:86:00.4
[ 1239.735631] nvme 0000:86:00.4: enabling device (0000 -> 0002)
[ 1270.289730] nvme nvme2: Device not ready; aborting initialisation
[ 1270.289794] nvme nvme2: Removing after probe failure status: -19
[ 1270.293724] nvme nvme4: Device not ready; aborting initialisation
[ 1270.293727] nvme nvme5: Device not ready; aborting initialisation
[ 1270.293732] nvme nvme5: Removing after probe failure status: -19
[ 1270.293783] nvme nvme4: Removing after probe failure status: -19
[ 1270.297647] nvme nvme3: Device not ready; aborting initialisation
[ 1270.297703] nvme nvme3: Removing after probe failure status: -19

lspci | grep Non को पता चल सकता है कि

86:00.0 Non-Volatile memory controller: Samsung Electronics Co Ltd Device a824
86:00.1 Non-Volatile memory controller: Samsung Electronics Co Ltd Device a824
86:00.2 Non-Volatile memory controller: Samsung Electronics Co Ltd Device a824
86:00.3 Non-Volatile memory controller: Samsung Electronics Co Ltd Device a824
86:00.4 Non-Volatile memory controller: Samsung Electronics Co Ltd Device a824

क्या VF सही तरीके से बनाए गए हैं?

और एक और सवाल यह है कि मैं वीएफ के साथ नेमस्पेस को कैसे बांध सकता हूं। मैंने /dev/nvme से नेमस्पेस बनाने के लिए nvme-cli का इस्तेमाल किया, लेकिन मैं इन नेमस्पेस को VF से कैसे बांध सकता हूं?

2
michael.peng 18 पद 2020, 05:21

4 जवाब

सबसे बढ़िया उत्तर

Nvme cli कमांड nvme virt-mgmt का उपयोग करके VQ और VI आवंटित करें और उस नियंत्रक को सक्षम करें और उस vf को vm में निर्यात करें।

उदाहरण आदेश nvme सूची-माध्यमिक / देव / nvme1n1 -> सभी माध्यमिक नियंत्रकों की सूची का आउटपुट

Nvme virt-mgmt /dev/nvme1n1 -c 1 -r 0 -n 2 -> सेकेंडरी कंट्रोलर 1 के लिए 2 VQ आवंटित करें

Nvme virt-mgmt /dev/nvme1n1 -c 1 -r 1 -n 2 -> सेकेंडरी कंट्रोलर 1 के लिए 2 VI आवंटित करें

Nvme virt-mgmt /dev/nvme1n1 -c -a 9 -> सेकेंडरी कंट्रोलर 1 को सक्षम करें

Nvme list-secondary /dev/nvme1n1 -> चेक पहली प्रविष्टि अपडेट की गई है और अब ऑनलाइन के रूप में दिखाई देती है।

अब इस vf को vm में निर्यात करें।

1
Umamahesh Allenki 22 मार्च 2021, 13:37

आपको nvme spec 1.4 (पृष्ठ 320, खंड 8.5 वर्चुअलाइजेशन एन्हांसमेंट) की जांच करने की आवश्यकता हो सकती है। मुझे लगता है कि आपको VQ और VI को भी कॉन्फ़िगर करने की आवश्यकता है)।

0
Jeff Chang 23 फरवरी 2021, 06:16

विटलिय-कछमरी

आप अभी भी होस्ट में VF के लिए "आरंभीकरण निरस्त" के रूप में देखेंगे।

VI और VQ और ऑनलाइन चर सेट होने के बाद, अब आप VF को अतिथि OS/हाइपरवाइजर को निर्यात कर सकते हैं। अतिथि ओएस में, आप जांच सकते हैं कि ओएस स्टार्टअप पूरा होते ही nvme ब्लॉक डिवाइस उत्पन्न हो गया है।

0
Umamahesh Allenki 23 अप्रैल 2021, 10:26

पहले nvme create कमांड का उपयोग करके nvme नेमस्पेस बनाएं और फिर nvme अटैच-एनएस का उपयोग करके कंट्रोलर को अटैच करें, सिंगल या मल्टी-नेमस्पेस बनाएं, फिर VF बनाएं और एक्सपोर्ट करने का प्रयास करें।

VM को VF निर्यात करने के लिए।

पुण्य-प्रबंधक स्थापित करें और गुण-प्रबंधक में अतिथि ओएस (सेंटोस या अनबंटू आदि ..) स्थापित करें, मैंने उबंटू का उपयोग किया। आप यह भी देख सकते हैं - https://help.ubuntu.com/community/KVM/VirtManager

अब, आपके पास VF और VMs हैं।

निर्यात करने के लिए, किसी भी अतिथि ओएस का चयन करें ओपन का चयन करें और नई विंडो में ऐड-हार्डवेयर विकल्प चुनें और पीसीआई का चयन करें और वीएफ 0000:86: 00.1/2/3/4 डिवाइस में से एक जोड़ें अतिथि ओएस चलाएं। Lsblk में आपको एक चार डिवाइस / dev / nvme0 और ब्लॉक डिवाइस / dev / nvme0n1 मिलेगा और अब आप ब्लॉक डिवाइस पर fio चला सकते हैं।

0
Umamahesh Allenki 29 अप्रैल 2021, 15:37