Score:2

การกำหนดเส้นทางบล็อก Linux จาก Redfish

ธง cn

บริบท: ฉันกำลังพยายามทำให้การติดตั้ง Linux แบบ preseed เป็นแบบอัตโนมัติบนเซิร์ฟเวอร์ที่รองรับ Redfish ตามหลักการแล้ว ฉันต้องการให้สิ่งนี้เป็นแบบที่ไม่เชื่อเรื่องพระเจ้ามากที่สุดเท่าที่จะเป็นไปได้ เพื่อให้ฉันสามารถรองรับเซิร์ฟเวอร์ได้หลายประเภท (เช่น Dell, HP, Cisco ฯลฯ) แต่ฉันกำลังทำงานกับ Dell R430 (iDRAC 8 พร้อมเฟิร์มแวร์ล่าสุด)

คำอธิบาย: ฉันกำลังพยายามค้นหาวิธีที่เชื่อถือได้ในการรับข้อมูลเกี่ยวกับวอลุ่มพื้นที่เก็บข้อมูลจาก Redfish และแมปสิ่งนี้กับอุปกรณ์บล็อกที่ Linux สามารถเข้าใจได้ ดังนั้นฉันจึงสามารถบอกผู้ติดตั้งของฉันว่าจะติดตั้งอุปกรณ์ใด

ตัวอย่าง: ฉันใช้ไดรฟ์สองตัวและใช้ Redfish สร้างอาร์เรย์ RAID-1 ให้ตัวเอง ตอนนี้ฉันมีวัตถุ "ระดับเสียง" นี้:

{                                                          
    "@Redfish.Settings": {                                                                                             
        "@odata.context": "/redfish/v1/$metadata#Settings.Settings",                                                                                                                                                                           
        "@odata.type": "#Settings.v1_1_0.Settings",                                                                                                                                                                                            
        "SettingsObject": {                                
            "@odata.id": "/redfish/v1/Systems/System.Embedded.1/Storage/Volumes/Disk.Virtual.0:RAID.Integrated.1-1/Settings"
        },                                                 
        "เวลาสมัครที่รองรับ": [
            "ทันที",                                   
            "เมื่อรีเซ็ต",                                     
            "AtMaintenanceWindowStart",
            "InMaintenanceWindowOnReset"
        ]                                                  
    },                                                     
    "@odata.context": "/redfish/v1/$metadata#Volume.Volume",
    "@odata.id": "/redfish/v1/Systems/System.Embedded.1/Storage/Volumes/Disk.Virtual.0:RAID.Integrated.1-1",
    "@odata.type": "#Volume.v1_0_3.Volume",
    "การดำเนินการ": {                                           
        "#Volume.CheckConsistency": {
            "เป้าหมาย": "/redfish/v1/Systems/System.Embedded.1/Storage/Volumes/Disk.Virtual.0:RAID.Integrated.1-1/Actions/Volume.CheckConsistency"
        },                                                 
        "#Volume.Initialize": {
            "[email protected]": [
                "เร็ว",                                    
                "ช้า"                                     
            ]                                             
            "เป้าหมาย": "/redfish/v1/Systems/System.Embedded.1/Storage/Volumes/Disk.Virtual.0:RAID.Integrated.1-1/Actions/Volume.Initialize"
        }                                                  
    },                                                     
    "BlockSizeBytes": 512,                                 
    "ความจุไบต์": 199447543808,
    "คำอธิบาย": "ดิสก์เสมือน 0",
    "เข้ารหัส": เท็จ                                    
    "ประเภทการเข้ารหัส": [                                   
        "NativeDriveEncryption"
    ]                                                     
    "รหัส": "Disk.Virtual.0:RAID.Integrated.1-1",
    "ตัวระบุ": [],                                     
    "ลิงก์": {                                             
        "ไดรฟ์": [                                        
            {                                              
                "@odata.id": "/redfish/v1/Systems/System.Embedded.1/Storage/Drives/Disk.Bay.0:Enclosure.Internal.0-1:RAID.Integrated.1-1"
            },                                             
            {                                              
                "@odata.id": "/redfish/v1/Systems/System.Embedded.1/Storage/Drives/Disk.Bay.1:Enclosure.Internal.0-1:RAID.Integrated.1-1"
            }                                              
        ]                                                 
        "[email protected]": 2
    },
    "ชื่อ": "ดิสก์เสมือน 0",
    "การดำเนินการ": [],                                      
    "Optimum IOSizeBytes": 65536,
    "สถานะ": {                                            
        "สุขภาพ": "ตกลง",                                    
        "HealthRollup": "ตกลง",
        "สถานะ": "เปิดใช้งาน"                                 
    },                                                     
    "VolumeType": "มิเรอร์"                               
}

มีอะไรที่นี่ที่ฉันสามารถใช้เพื่อหาเส้นทางอุปกรณ์บล็อกใน Linux ได้อย่างน่าเชื่อถือหรือไม่ ในกรณีนี้ ฉันรู้ว่ามันคือ:

$lsblk /dev/sdc
ชื่อ MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sdc 8:32 0 185.8G 0 ดิสก์ 
$ ls -al /dev/disk/by-id/ | เกรป เอสดีซี
scsi-361866da08170ff0026091a95033dd20a
wwn-0x61866da08170ff0026091a95033dd20a
$ ls -al /dev/disk/by-path/ | เกรป เอสดีซี
pci-0000:01:00.0-scsi-0:2:0:0

แต่จนถึงตอนนี้ฉันไม่เห็นวิธีที่ชัดเจนที่จะได้รับจากผลลัพธ์ของ Redfish ไปยังค่าใด ๆ เหล่านั้น อาจมีตัวระบุอื่นในฝั่ง Linux ที่อาจทำให้ฉันเข้าใกล้เพื่อที่ฉันจะได้ทำงานย้อนหลังได้หรือไม่ หรือที่อื่นใน Redfish ฉันสามารถค้นหาเส้นทาง PCIe ได้หรือไม่ ฉันรู้ว่า iDRAC 9 สามารถจัดเตรียมพาธ PCIe ที่ระดับแชสซีได้ แต่ iDRAC 8 ไม่สามารถทำได้ แต่ถึงอย่างนั้นพวกเขาก็ดูเหมือนจะไม่แมปกับพาธใน Linux เหล่านี้แต่อย่างใด

การแก้ไขครั้งแรก: ฉันได้ตรวจสอบการใช้เครื่องมือต่าง ๆ ในฝั่ง Linux เพื่อสอบถามตัวควบคุม RAID (megacli, perccli, สคริปต์ Python ของ wrapper หลายตัวสำหรับสิ่งเหล่านี้ megaclisas.py) แต่จนถึงขณะนี้ยังไม่มีอะไรช่วยแก้ปัญหาการทำแผนที่ได้

bo flag
ฉันไม่สามารถเข้าถึง idrac จริงได้ แต่ [คู่มือ API](https://dl.dell.com/topicspdf/idrac9-lifecycle-controller-v4x-series_api-guide_en-us.pdf) สำหรับ 9 บอกว่ามี จุดสิ้นสุดนี้: `/redfish/v1/Dell/ระบบ//ที่เก็บข้อมูล/วอลุ่ม/DellVirtualDisk/ ` คุณสมบัติอย่างหนึ่งคือ: `VirtualDiskTargetID` ค่าตอบแทนมีลักษณะอย่างไรสำหรับกรณี `sdc` ของคุณ
cn flag
เราใช้ขนาด หมายเลขซีเรียล หรือประเภทดิสก์ (sas/sata/nvme/etc) เพื่อแมปข้อมูลนั้นระหว่าง ilo5 redfish และ linux ด้วย lsblk -o serial คุณจะได้รับข้อมูลเดียวกันกับแอตทริบิวต์ volumeuniqueidentifier ของโลจิคัลวอลุ่มใน redfish api ของ ilo5 ฉันไม่รู้ว่านี่เหมือนกันใน idrac หรือไม่
cn flag
เพื่อขยายความเล็กน้อย Dell poweredges มีการ์ดสำหรับบอสซึ่งเป็นตัวควบคุมการโจมตี ssd ขนาดเล็กที่ปกติแล้วสำหรับไดรฟ์ระบบบนระบบปฏิบัติการ ด้วย %pre-actions ของโฟร์แมนคิกสตาร์ท เราตรวจพบดิสก์ของเจ้านาย (lsblk -o model,kname) และเราใช้สิ่งนั้นเป็นดิสก์รูท สำหรับ Proliant ฉันมีเครื่องมือภายในอื่นๆ ที่ตรวจสอบดิสก์ sata และ sas และถ้าทั้งสองอย่างพร้อมใช้งาน แสดงว่า sata ใช้สำหรับรูท ส่วน sas สำหรับข้อมูล ตัวเลือกแบบนั้น

โพสต์คำตอบ

คนส่วนใหญ่ไม่เข้าใจว่าการถามคำถามมากมายจะปลดล็อกการเรียนรู้และปรับปรุงความสัมพันธ์ระหว่างบุคคล ตัวอย่างเช่น ในการศึกษาของ Alison แม้ว่าผู้คนจะจำได้อย่างแม่นยำว่ามีคำถามกี่ข้อที่ถูกถามในการสนทนา แต่พวกเขาไม่เข้าใจความเชื่อมโยงระหว่างคำถามและความชอบ จากการศึกษาทั้ง 4 เรื่องที่ผู้เข้าร่วมมีส่วนร่วมในการสนทนาด้วยตนเองหรืออ่านบันทึกการสนทนาของผู้อื่น ผู้คนมักไม่ตระหนักว่าการถามคำถามจะมีอิทธิพลหรือมีอิทธิพลต่อระดับมิตรภาพระหว่างผู้สนทนา