ตั้งแต่อัพเกรดเป็น Solaris 11 ขนาด ARC ของฉันมีการกำหนดเป้าหมายอย่างต่อเนื่อง 119MB แม้ว่าจะมี RAM 30GB อะไร? ทำไม?


9

ฉันใช้กล่อง NAS / SAN บน Solaris 11 Express ก่อนที่ Solaris 11 จะวางจำหน่าย กล่องนั้นเป็น HP X1600 ที่มี D2700 ติดอยู่ โดยรวมดิสก์ SATA 12 x 1TB 7200, 12x 300GB 10k SAS ดิสก์ใน zpools แยกกัน RAM ทั้งหมดคือ 30GB บริการที่จัดเตรียมคือ CIFS, NFS และ iSCSI

ทั้งหมดเป็นไปด้วยดีและฉันมีกราฟการใช้หน่วยความจำ ZFS ที่มีลักษณะเช่นนี้:

ขนาดอาร์คที่ค่อนข้างแข็งแรงประมาณ 23GB ใช้ประโยชน์จากหน่วยความจำที่มีอยู่สำหรับแคช

อย่างไรก็ตามฉันอัพเกรดเป็น Solaris 11 เมื่อมันออกมา ตอนนี้กราฟของฉันมีลักษณะดังนี้:

ผลลัพธ์บางส่วนของarc_summary.plคือ:

System Memory:
     Physical RAM:  30701 MB
     Free Memory :  26719 MB
     LotsFree:      479 MB

ZFS Tunables (/etc/system):

ARC Size:
     Current Size:             915 MB (arcsize)
     Target Size (Adaptive):   119 MB (c)
     Min Size (Hard Limit):    64 MB (zfs_arc_min)
     Max Size (Hard Limit):    29677 MB (zfs_arc_max)

กำลังตั้งเป้าหมาย 119MB ขณะนั่งที่ 915MB มี 30GB ที่จะเล่นกับ ทำไม? พวกเขาเปลี่ยนอะไรไหม?

แก้ไข

หากต้องการชี้แจงarc_summary.plก็คือ Ben Rockwood's และบรรทัดที่เกี่ยวข้องที่สร้างสถิติข้างต้นคือ:

my $mru_size = ${Kstat}->{zfs}->{0}->{arcstats}->{p};
my $target_size = ${Kstat}->{zfs}->{0}->{arcstats}->{c};
my $arc_min_size = ${Kstat}->{zfs}->{0}->{arcstats}->{c_min};
my $arc_max_size = ${Kstat}->{zfs}->{0}->{arcstats}->{c_max};
my $arc_size = ${Kstat}->{zfs}->{0}->{arcstats}->{size};

รายการ Kstat อยู่ที่นั่นฉันแค่รับค่าแปลกออกมาจากพวกเขา

แก้ไข 2

ฉันเพิ่งวัดขนาดส่วนโค้งอีกครั้งarc_summary.pl- ฉันได้ตรวจสอบหมายเลขเหล่านี้ด้วยkstat:

System Memory:
     Physical RAM:  30701 MB
     Free Memory :  26697 MB
     LotsFree:      479 MB

ZFS Tunables (/etc/system):

ARC Size:
     Current Size:             744 MB (arcsize)
     Target Size (Adaptive):   119 MB (c)
     Min Size (Hard Limit):    64 MB (zfs_arc_min)
     Max Size (Hard Limit):    29677 MB (zfs_arc_max)

สิ่งที่ทำให้ฉันประทับใจคือขนาดเป้าหมายคือ 119MB เมื่อมองไปที่กราฟมันกำหนดเป้าหมายเป็นค่าเดียวกันที่แน่นอน (124.91M ตาม cacti, 119M ตามarc_summary.pl- คิดว่าความแตกต่างเป็นเพียงปัญหาการปัดเศษ 1024/1000) นับตั้งแต่ติดตั้ง Solaris 11 ดูเหมือนว่าเคอร์เนลพยายามอย่างเต็มที่ที่จะเปลี่ยนขนาดเป้าหมายเป็นอะไรที่แตกต่างออกไป ขนาดปัจจุบันมีความผันผวนตามความต้องการของระบบ (ขนาดใหญ่) ต่อสู้กับขนาดเป้าหมายและปรากฏว่ามีความสมดุลระหว่าง 700 และ 1000MB

ดังนั้นคำถามนี้ชี้ไปที่น้อยกว่า - ทำไม Solaris 11 จึงยากที่จะกำหนดขนาดเป้าหมาย ARC เป็น 119MB และฉันจะเปลี่ยนได้อย่างไร ฉันควรยกขนาดขั้นต่ำเพื่อดูว่าเกิดอะไรขึ้น

ฉันติดผลลัพธ์ของที่kstat -n arcstatsมากกว่าที่http://pastebin.com/WHPimhfg

แก้ไข 3

ตกลงตอนนี้ความแปลก ฉันรู้ว่า flibflob พูดถึงว่ามีการแก้ไขเพื่อแก้ไข ฉันยังไม่ได้ใช้โปรแกรมแก้ไขนี้ (ยังคงแยกแยะปัญหาการสนับสนุนภายใน) และฉันไม่ได้ใช้การปรับปรุงซอฟต์แวร์อื่น ๆ

วันพฤหัสบดีที่ผ่านมากล่องเกิดข้อผิดพลาด ในขณะที่หยุดการตอบสนองทุกอย่างอย่างสมบูรณ์ เมื่อฉันรีบูทมันก็กลับมาดี แต่นี่เป็นกราฟของฉันตอนนี้

ดูเหมือนว่าจะแก้ไขปัญหาได้แล้ว

นี่คือสิ่งที่เหมาะสมในตอนนี้ ฉันไม่รู้จริงๆว่าเกิดอะไรขึ้น :(

คำตอบ:


4

น่าเสียดายที่ฉันไม่สามารถแก้ปัญหาของคุณได้ แต่นี่เป็นข้อมูลพื้นฐานบางส่วน:

  • ขนาดเป้าหมาย ARC ดูเหมือนจะไม่เป็นค่าแก้ไข ฉันพบปัญหาเดียวกันกับเครื่อง Solaris 11 และหลังจากรีบูตแต่ละครั้งในบางครั้งขนาดเป้าหมายดูเหมือนจะล็อคด้วยค่าระหว่าง ~ 100 ถึง ~ 500MB

  • อย่างน้อย 3 คนกำลังเผชิญปัญหาเดียวกันตามที่กล่าวไว้ในhttp://mail.opensolaris.org/pipermail/zfs-discuss/2012- มกราคม 25/06/06

  • นอกจากนี้ยังมีรายงานข้อผิดพลาดแบบเปิด (7111576) ที่ "My Oracle Support" ( https://support.oracle.com ) หากเซิร์ฟเวอร์ของคุณอยู่ภายใต้สัญญาการสนับสนุนที่ถูกต้องคุณควรยื่นคำขอบริการและอ้างถึงข้อบกพร่องนั้น ณ ตอนนี้ข้อผิดพลาดใด ๆ ที่ยังคงอยู่ในระหว่างดำเนินการ ...

นอกเหนือจากนั้นไม่มีอะไรที่คุณสามารถทำได้ หากคุณยังไม่ได้อัพเกรดรุ่น zpool / zfs ของคุณคุณอาจลองบูตเข้าสู่สภาพแวดล้อมการบูต Solaris 11 Express เก่าของคุณและเรียกใช้จนกว่า Oracle จะตัดสินใจเปิดตัว SRU ในที่สุดเพื่อแก้ไขปัญหา

แก้ไข:เนื่องจากปัญหาการเสื่อมประสิทธิภาพได้ถูกกล่าวถึงข้างต้น: ทุกอย่างขึ้นอยู่กับสิ่งที่คุณทำ ฉันเคยเห็นเวลาแฝงที่น่ากลัวในการแชร์ Solaris 11 NFS นับตั้งแต่อัพเกรดเป็น Solaris 11 11/11 อย่างไรก็ตามเมื่อเทียบกับระบบของคุณฉันมีแกนหมุนค่อนข้างน้อยและพึ่งพาการแคช ARC และ L2ARC อย่างหนักตามที่คาดไว้ นี่ไม่ใช่ปัญหาของการตีความทางสถิติอย่างผิด ๆ

แม้ว่าคุณอาจจะไม่ต้องพึ่งพาเกินไปใน ARC / L2ARC คุณอาจจะสามารถที่จะทำซ้ำโดยการอ่านไฟล์ขนาดใหญ่ (ที่ปกติจะใส่ลงใน RAM ของคุณ) หลายครั้งด้วยDD คุณอาจสังเกตเห็นว่าการอ่านไฟล์ครั้งแรกจะเร็วกว่าการอ่านไฟล์เดียวกันอย่างต่อเนื่อง (เนื่องจากขนาด ARC ที่ไร้สาระและการไล่แคชที่นับไม่ถ้วน)

แก้ไข:ตอนนี้ฉันได้รับการจัดการแพทช์ IDR จาก Oracle ที่แก้ไขปัญหานี้แล้ว หากระบบของคุณได้รับการสนับสนุนคุณควรขอแพตช์ IDR สำหรับ CR 7111576 แพทช์นี้ใช้กับ Solaris 11 11/11 ด้วย SRU3


ฉันคิดว่าฉันได้รับการสนับสนุน แต่ฉันทำงานในองค์กรขนาดใหญ่ใครจะไปรู้ล่ะ
growse

1

พวกเขาเปลี่ยน kstats

Oracle Solaris 11 ได้ลบสถิติต่อไปนี้ออกจาก zfs: 0: arcstats:

  • evict_l2_cached
  • evict_l2_eligible
  • evict_l2_ineligible
  • evict_skip
  • hdr_size
  • l2_free_on_write
  • l2_size recycle_miss

และเพิ่มสิ่งต่อไปนี้ใน zfs: 0: arcstats:

  • buf_size
  • meta_limit
  • meta_max
  • meta_used

ดังนั้นนี่อาจเป็นปัญหากับสคริปต์ของคุณ


เป็นจุดที่น่าสนใจ แต่ฉันไม่คิดว่าฉันใช้เมตริกเหล่านี้เพื่อรายงานตัวเลขเหล่านี้ ดูการแก้ไข
Growse

พวกนั้นยังอยู่ที่นี่ พิจารณาแล้วว่ามันดูแปลกมาก คุณเห็นการลดประสิทธิภาพลงหรือไม่
juwi

ฉันไม่สามารถพูดได้ว่าฉันมี ฉันควรจะวัดสิ่งนี้
Growse

ในกรณีที่นี่ไม่ใช่ข้อผิดพลาดในสิ่งที่คุณกำลังมองหาและคุณมีความผิดปกติอย่างแท้จริงโปรดทราบว่าคุณสามารถแก้ไขค่าเหล่านี้ได้ทันทีบนระบบสดหรือใช้ / etc / system อย่างถาวร
Nex7
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.