เปิดใช้งานทิ้ง HP 3PAR StoreServ 7400


13

แยกออกจากคำถามที่ถามก่อนหน้านี้

วิธีการรับพื้นที่ว่างจากไดรฟ์ที่ติดตั้ง Redhat 7

อัปเดต crypttab ถาม Passphrase สำหรับ fstrim

เรามี HP 3PAR StoreServ 7400 โดยมี 170 VM กระจายออกไปทั่วโฮสต์ 38 แห่ง

นี่คือปัญหาที่ฉันเข้าใจ: (และฉันยังได้รับการบอกข้อมูลบางอย่างที่ฉันไม่แน่ใจว่ามันเป็นจริงหรือไม่ฉันได้อ่านเอกสารทางเทคนิคของ HP 3PAR StoreServ 7400 และไม่พบสิ่งใดที่สำรองสิ่งที่คนเก็บข้อมูลของฉันเป็น บอกฉันดังนั้นตลอดด้านล่างถ้าใครสังเกตเห็นอะไรไม่จริงโปรดแจ้งให้เราทราบ)

3 PAR แบ่งออกเป็น 3 ส่วน

ชั้นที่ 1: SSD ใช้เพื่อแคชและเข้าถึงไฟล์ที่เข้าถึงทั่วไปได้อย่างรวดเร็ว

ชั้นที่ 2: และชั้นที่ 3: ดิสก์หมุนบางประเภทอะไรและทำไมมี 2 ชั้นเพิ่มเติมฉันไม่แน่ใจ แต่ข้อสันนิษฐานของฉันคือชั้นที่ 2 ใช้สำหรับข้อมูลที่ไม่ได้เข้าถึงบ่อยที่สุด แต่ใช้บิตและเลเยอร์ 3 เพื่อ เก็บของเหลือ

ภายในส่วน SSD ที่ฉันได้อ่านในหลาย ๆ บทความเมื่อข้อมูลถูกเขียนไปยังบล็อก SSD และจากนั้นลบบล็อกนั้นที่ไม่เป็นศูนย์จนกว่าข้อมูลใหม่จะถูกเขียนลงไปดังนั้นเมื่อข้อมูลภายในบล็อกถูกลบตารางที่จัดเก็บการทำแผนที่ ข้อมูลได้รับการปรับปรุงจากนั้นเมื่อข้อมูลใหม่ถูกเขียนลงในบล็อกเดียวกันนั้นบล็อกแรกจะต้องเป็นศูนย์และจากนั้นจะสามารถเขียนได้ กระบวนการนี้ภายใน SSD หากไดรฟ์ไม่ได้รับการตัดแต่งเป็นระยะอาจทำให้ความเร็ว w / r ลดลง

3PAR LUN ถูกจัดเตรียมแบบบางโดย VM เป็น Eager Thick ที่จัดเตรียมไว้

ตามที่คนเก็บข้อมูลของฉัน 3PAR มีคุณสมบัติพิเศษในตัวที่ช่วยให้การจัดเก็บข้อมูล SSD ไม่ได้ใช้เพื่อให้สามารถใช้ได้กับ VM อื่น ๆ ตามความจำเป็นซึ่งไม่สมเหตุสมผล

ตรวจสอบข้อเท็จจริง:

VM ที่มีการจัดเตรียมแบบหนาเป็นไฟล์ VMDK เมื่อสร้าง VM คุณจะระบุขนาดของ VM และสิ่งนี้จะสร้างไฟล์ VMDK ในใจของฉันที่บอกฉันว่าหากมีการเข้าถึง VM เป็นประจำไฟล์ VMDK ทั้งหมดจะถูกย้ายไปยัง SDD และสิ่งที่พวกเขาบอกฉันคือแม้ว่า VMDK จะถูกตั้งค่าให้ใช้ 40GB ที่ 40GB นั้นสามารถใช้งานได้ VM อื่น ๆ นั่นฟังดูเพิ่มเติมสำหรับฉันเช่น VM ที่มีการจัดเตรียมไว้บาง ๆ ไม่หนา

ตกลงไปที่ปัญหา

ในระบบ windows ของเราเราใช้ sdelete เพื่อค้นหาและไม่มีบล็อกที่ไม่ได้ใช้

ในระบบ Linux Fedora ของเราฉันพยายามหาวิธีที่จะทำให้ fstrim ทำงานได้

ฉันลองใช้คำสั่ง dd = write-big-file delete-big-file และส่งดิสก์ I / O ผ่านหลังคาซึ่งสังเกตได้และฉันก็บอกว่าจะไม่ทำอีก

การทำวิจัยเล็ก ๆ น้อย ๆ มันดูเหมือนกับฉันว่า sdelete ค่อนข้างมากทำสิ่งเดียวกันกับ dd = write-big-file delete-big-file ดังนั้นเหตุใดดิสก์ I / O จึงไม่ผ่านหลังคาบนระบบ windows?

ดังนั้นฉันคิดว่าฉันได้แก้ไขปัญหาให้เหลือสองวิธี ทั้งที่ฉันรู้วิธีการทำ

  1. อย่างใดโดยไม่ v-motion VMs ไปยังอาร์เรย์ที่เก็บข้อมูลที่แตกต่างกันสามารถเรียกใช้ fstrim เช่นฟังก์ชั่นในส่วน SSD ทั้งหมดของ SAN

หมายเหตุด้านข้าง: หากฉันเข้าใจทุกอย่างที่ฉันได้อ่าน fstrim จะดูที่ทุก ๆ บล็อกเพื่อดูว่ามีข้อมูลอยู่หรือไม่และถ้าจำเป็นต้องใช้ถ้าไม่จำเป็นจะเป็นศูนย์ที่บล็อกซึ่ง sdelete เขียนไฟล์ขนาดใหญ่แล้วลบออก นี่คือเหตุผลที่ฉันกำลังมองหาตัวเลือก fstrim ในส่วน SSD ทั้งหมดของ 3PAR

  1. Longshot แต่ข้อผิดพลาดที่ฉันได้รับจาก fstrim คือ:

[root @ rhtest ~] # fstrim -v / fstrim: /: ไม่สนับสนุนการทิ้ง

ฉันได้อ่านแล้วว่าตัวเลือกทิ้งจำเป็นต้องตั้งค่าทั้งในระบบปฏิบัติการและที่เก็บข้อมูล แต่ฉันไม่สามารถคิดได้ว่าจะตั้งค่าตัวเลือกทิ้งที่ 3PAR i ได้อย่างไรทั้ง SSH และ GUI เข้าถึง 3PAR

ฉันได้ผ่านขั้นตอนนับไม่ถ้วนในการตั้งค่าการละทิ้งภายในระบบปฏิบัติการและไม่สำคัญว่าฉันจะหมุนมันหลายวิธีฉันจะได้รับข้อผิดพลาดเดียวกันเสมอ

ใช่ฉันได้ดูด้วยตัวเลือกอื่น zerofree เป็นหนึ่งและคู่อื่น ๆ ที่ไม่ได้คิด แต่พวกเขาทั้งสองทำงานเหมือน zdelete หรือฉันอ่านว่าพวกเขาอันตรายมากฉันดู hdparam เป็นต้น

ด้านล่างฉันจะเอาท์พุทบางอย่างเกี่ยวกับระบบปฏิบัติการในคำถามพวกเขาเหมือนกันทั้งหมด

[root@rhtest ~]# hostnamectl
    Static hostname: rhtest.domain.com
    Icon name: computer-vm
    Chassis: vm
    Machine ID: f52e8e75ae704c579e2fbdf8e7a1d5ac
    Boot ID: 98ba6a02443d41cba9cf457acf5ed194
    Virtualization: vmware
    Operating System: Red Hat Enterprise Linux Server 7.2 (Maipo)
    CPE OS Name: cpe:/o:redhat:enterprise_linux:7.2:GA:server
    Kernel: Linux 3.10.0-327.el7.x86_64
    Architecture: x86-64

[root@rhtest ~]# blkid
    /dev/block/8:2: UUID="2OHGU8-ir1w-LLGB-6v72-zZqN-CIaX-FjGImJ" TYPE="LVM2_member"
    /dev/block/253:1: UUID="ad872f09-5147-4252-af56-aa6244219515" TYPE="xfs"
    /dev/block/8:1: UUID="83aac355-a443-4ff9-90fa-9f6da8e31cc2" TYPE="xfs"
    /dev/block/253:0: UUID="dbe56f6a-2a4a-42da-82e2-bef9a73caafb" TYPE="swap"

[root@rhtest ~]# lsblk
    NAME                           MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
    fd0                              2:0    1    4K  0 disk
    sda                              8:0    0   50G  0 disk
    ââsda1                           8:1    0  500M  0 part /boot
    ââsda2                           8:2    0 49.5G  0 part
        âârhel_-rhtest-swap 253:0    0    2G  0 lvm  [SWAP]
        âârhel_-rhtest-root 253:1    0 47.5G  0 lvm  /
    sdb                              8:16   0   50G  0 disk
    sr0                             11:0    1 1024M  0 rom


[root@rhtest ~]# df -h
    Filesystem                              Size  Used Avail Use% Mounted on
    /dev/mapper/rhel_-rhtest-root   48G  883M   47G   2% /
    devtmpfs                                991M     0  991M   0% /dev
    tmpfs                                  1001M     0 1001M   0% /dev/shm
    tmpfs                                  1001M  8.5M  993M   1% /run
    tmpfs                                  1001M     0 1001M   0% /sys/fs/cgroup
    /dev/sda1                               497M  124M  374M  25% /boot
    tmpfs                                   201M     0  201M   0% /run/user/0

คำตอบ:


10

ความสามารถในการรัน fstrim บน / พาร์ติชั่นจะเป็นทางออกที่ดีที่สุดอย่างไรก็ตามด้วยวิธีที่ ESXi กำหนดค่าไว้จะไม่สามารถทำได้

คุณต้องสามารถเปิดใช้งานการละทิ้งทั้ง VM และอุปกรณ์เก็บข้อมูล

การพยายามลดขนาดพาร์ติชันหรือโลจิคัลวอลุ่มด้วยระบบไฟล์ xfs ไม่สามารถทำได้นี่เป็นข้อบกพร่องที่รู้จักกับ fedora หากคุณมีความสนใจในฟังก์ชั่นนี้โปรดติดต่อฝ่ายสนับสนุน Red Hat และการอ้างอิง Red Hat bugzilla 1062667 และจัดเตรียมกรณีการใช้งานของคุณสำหรับการลด / ลดขนาด XFS

เนื่องจากเป็นไปได้ที่จะหลีกเลี่ยงในสภาพแวดล้อมบางอย่างไดรฟ์ข้อมูล LVM ที่ถูกจัดเตรียมแบบบางสามารถถูกพิจารณาเป็นเลเยอร์เพิ่มเติมด้านล่างระบบไฟล์ XFS

หาก VM เป็น VMDK ที่เตรียมไว้อย่างกระตือรือร้นซึ่งหมายความว่าไม่มีอะไรที่จะเรียกคืนได้เมื่อคุณพยายามที่จะตัด (พูดทางเทคนิค SCSI UNMAP) ปริมาณของคุณ

หากหน่วยเก็บข้อมูลส่วนหลังกำลังรันการจัดเตรียมแบบบางคุณจำเป็นต้องใช้ไฟล์ VMDK แบบ zeroed ขี้เกียจเพื่อลดพื้นที่เก็บข้อมูลและทำให้แบ็กเอนด์สามารถแคช / ลบข้อมูลอุ่นได้

สองตัวเลือกที่เป็นไปได้:

1. When storage is provided by a remote server across a SAN, you can only discard blocks if the storage is thin provisioned.

    1. VMotion all the VM's to a different data store and use the built-in VMWare tools
    2. Connect to the ESXi Host with SSH
    3. Navigate to the Virtual Machine Folder
    4. Verify disk usage with du
    5. Run vmkfstools -K [disk]
    6. Verify disk usage with du

2.  dd if=/dev/zero of=BIGFILE bs=1024000
    rm -f BIGFILE

จากสิ่งที่ฉันสามารถบอกได้ว่าสิ่งนี้ทำเช่นเดียวกับ sdelete แต่มันสามารถทำให้เกิดการขัดขวางในดิสก์ I / O เช่นเดียวกับใช้เวลาสักครู่ในการทำงาน

สิ่งที่ควรลองข้ามคืน

ตัวเลือกอย่างใดอย่างหนึ่งไม่ได้ดีที่สุด แต่การฟอร์แมต VM ใหม่ทุกครั้งเพื่อรับ ext3 หรือ ext4 นั้นไม่ได้เป็นไปได้

สิ่งที่คุณสามารถทำได้คือการตั้งค่ากฎความสัมพันธ์สำหรับ linux VM ทั้งหมดและใช้ตัวเลือก 1 จากด้านบน


3

คุณกำลังใช้ VMDK ที่เตรียมไว้อย่างกระตือรือร้นซึ่งหมายความว่าไม่มีสิ่งใดที่จะเรียกคืนได้เมื่อคุณพยายามที่จะตัด (พูดทางเทคนิค SCSI UNMAP) ปริมาณของคุณ

หากหน่วยเก็บข้อมูลส่วนหลังกำลังรันการจัดเตรียมแบบบางคุณจำเป็นต้องใช้ไฟล์ VMDK แบบ zeroed ขี้เกียจเพื่อลดพื้นที่เก็บข้อมูลและทำให้แบ็กเอนด์สามารถแคช / ลบข้อมูลอุ่นได้


ขอบคุณสำหรับการตอบกลับ แต่ฉันไม่แน่ใจว่าฉันเข้าใจคำตอบของคุณอย่างสมบูรณ์ถ้าข้อสันนิษฐานทั้งหมดของฉันจากคำถามนั้นถูกต้องจะต้องเรียกคืนบล็อกที่ไม่เป็นศูนย์จาก SAN โดยเฉพาะอย่างยิ่งหากไฟล์ VMDK ถูกย้ายออกจาก SSD ไป ดิสก์หมุน แก้ไข?
Anthony Fornito

3
@AnthonyFornito คุณไม่สามารถเรียกคืนอะไรได้เลยด้วยดิสก์หนาที่กระตือรือร้น ความหนาที่เพิ่มขึ้นหมายความว่า VMWare บังคับให้หน่วยเก็บข้อมูลส่วนหลังเขียนการจัดสรรแบบเต็มของแต่ละไฟล์รวมถึงเลขศูนย์
pauska

@pauska นั้นถูกต้องทั้งหมด 3PAR และโซลูชันที่คล้ายกันจำนวนมากได้รับการออกแบบมาสำหรับการบีบอัด / การขจัดข้อมูลซ้ำซ้อน / การจัดระดับ รุ่นไฮบริด 3PAR ของคุณเป็นเรื่องเกี่ยวกับประสิทธิภาพด้านความจุไม่ใช่การกำหนดค่าเชิงประสิทธิภาพ ด้วยเหตุนี้จึงเป็นการดีกว่าถ้าคุณใช้ดิสก์ที่ไม่มีการใช้งานสันหลังหลังแทนที่จะใช้ดิสก์ที่มีค่าเป็นศูนย์ในกรณีของคุณ
Strepsils
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.