เครื่องเสมือน เครื่องเสมือน VMBitrix ประวัติเวอร์ชันของ BitrixEnv และ BitrixVM

หลังจากอ่านบทความนี้แล้ว เหลือเพียงคำถามเดียวคือ “ทำไม” มาดูคำอธิบายของผู้เขียนกันดีกว่า

ภายในเครื่องเสมือนคุณสามารถทำงานกับโซลูชันซอฟต์แวร์และระบบปฏิบัติการที่ล้าสมัยได้
แค่กรณีของฉัน คุณสามารถใช้ใบอนุญาตที่มีอยู่สำหรับเซิร์ฟเวอร์ Win2003 ซึ่งไม่เหมาะกับตัวควบคุมฮาร์ดไดรฟ์สมัยใหม่หลายตัว


สิทธิ์การใช้งาน Win2003 ไม่ได้หมายความถึงการติดตั้งบนเครื่องเสมือน เฉพาะบนฮาร์ดแวร์กายภาพเท่านั้น หากต้องการสอบถามผู้เชี่ยวชาญด้านลิขสิทธิ์ของ Microsoft โดยตรงว่า “การติดตั้ง Win2003 บนเครื่องเสมือนและใช้งานนั้นถูกกฎหมายหรือไม่” เราได้รับคำถามว่า “ไม่ เฉพาะฮาร์ดแวร์ทางกายภาพเท่านั้น” เหตุใดจึงใช้ระบบปฏิบัติการเก่าแทนระบบปฏิบัติการใหม่บนเครื่องเสมือนหากคุณกลายเป็นโจรสลัดต่อไป?

ความสามารถในการสร้างสภาพแวดล้อมผู้ใช้ที่ได้รับการป้องกันสำหรับการทำงานกับเครือข่าย ซึ่งในกรณีนี้การโจมตีของไวรัสอาจเป็นอันตรายต่อระบบปฏิบัติการ ไม่ใช่เครื่องเสมือน


ฉันไม่เข้าใจข้อโต้แย้งนี้อย่างสมบูรณ์ หากการโจมตีเกิดขึ้นบนระบบโฮสต์ เครื่องเสมือนทั้งหมดจะถูกบุกรุก หากการโจมตีเกิดขึ้นบนเครื่องเสมือน เฉพาะการโจมตีนั้นเท่านั้นที่จะถูกทำลาย และโฮสต์ยังคงสะอาดอยู่ ในทั้งสองกรณี เราจะสูญเสียการปกป้องระบบแขกซึ่งเป็นระบบหลักสำหรับเรา เราปกป้องตัวเองที่ไหนและจากอะไร?

เครื่องเสมือนหลายเครื่องที่ใช้งานบนทรัพยากรทางกายภาพของคอมพิวเตอร์เครื่องหนึ่งถูกแยกออกจากกัน ดังนั้นความล้มเหลวของเครื่องเสมือนเครื่องใดเครื่องหนึ่งจะไม่ส่งผลกระทบต่อความพร้อมใช้งานและประสิทธิภาพของบริการและแอปพลิเคชันของผู้อื่น
ยังมีประโยชน์สำหรับ 1C การแยกแอปพลิเคชันเซิร์ฟเวอร์ 1C และเซิร์ฟเวอร์ SQL ออกเป็นเครื่องเสมือนที่แตกต่างกันและการจัดสรร RAM 4GB ให้กับแต่ละเครื่อง (ขีด จำกัด สำหรับ Win32 แบบ 32 บิต) จะช่วยให้คุณต่อสู้กับการระบาดของระบบ 32 บิตได้เล็กน้อย - การกระจายตัวของ RAM เมื่อดำเนินการ แบบสอบถามขนาดใหญ่


อย่าใช้ระบบปฏิบัติการ 32 บิต

ฉันไม่แนะนำอย่างยิ่งให้ใช้ระบบ 32 บิตที่มีการกำหนดค่าขนาดใหญ่ เช่น ซอฟต์สตาร์ทเตอร์ ในบางจุด คุณจะไม่สามารถอัปเดตการกำหนดค่าโดยไม่ต้องรีบูตเซิร์ฟเวอร์ 1C เมื่อถึงจุดหนึ่ง การรีบูตเครื่องก็ไม่ช่วยอะไร ในกรณีของเรา เรากำลังประหยัดเงินในตอนนี้ และจากนั้นเราสามารถสร้าง VM อื่นที่มีระบบ 64 บิตได้อย่างง่ายดาย และถ่ายโอนทุกอย่างไปยังเครื่องนั้นโดยแทบไม่รบกวนการทำงานเลย


ตำนาน เทพนิยาย ความหลง ฯลฯ การเปลี่ยนจากระบบปฏิบัติการ 32 บิตไปเป็นระบบปฏิบัติการ 64 บิตในสภาพแวดล้อมเสมือนนั้นมีความซับซ้อนพอๆ กับการเปลี่ยนแปลงบนฮาร์ดแวร์แบบเดียวกัน มันไม่สร้างความแตกต่าง ทุกอย่างจะถูกลบออกและติดตั้งอีกครั้ง

เนื่องจากเครื่องเสมือนแต่ละเครื่องเป็นคอนเทนเนอร์ซอฟต์แวร์ จึงสามารถถ่ายโอนหรือคัดลอกได้เหมือนกับไฟล์อื่นๆ


ระบบเสมือนไม่ใช่คอนเทนเนอร์ อย่าสับสน การถ่ายโอนเครื่องเสมือนสามารถทำได้ผ่านการส่งออก/นำเข้าซึ่งมีความเป็นไปได้สูง แต่ไม่มีใครรับประกันได้ว่าระบบจะทำงานบนโฮสต์อื่น

ความสามารถในการบันทึกสถานะของเครื่องเสมือนช่วยให้คุณสามารถกลับไปยังจุดนั้นได้อย่างรวดเร็วก่อนที่จะทำการเปลี่ยนแปลงระบบ


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

ภายในกรอบของระบบปฏิบัติการเกสต์เดียว เครื่องเสมือนหลายเครื่องสามารถใช้งาน สร้างเครือข่าย และโต้ตอบระหว่างกันได้


ลองใช้ guest OS อย่างน้อย 3-4 เครื่องบนคอมพิวเตอร์เครื่องเดียว แล้วคุณจะเข้าใจความสยองขวัญทั้งหมดที่เกิดขึ้นกับคุณ เพราะ... สำหรับการทำงานปกติของระบบปฏิบัติการเกสต์ 4 เครื่อง คุณต้องมีฮาร์ดแวร์ที่เย็นกว่าการทำงานครั้งเดียวถึง 4 เท่า

เครื่องเสมือนสามารถสร้างการเป็นตัวแทนของอุปกรณ์ที่ไม่มีอยู่จริง (การจำลองอุปกรณ์)


โอกาสพิเศษสุดๆ ฉันไม่รู้ว่าจำเป็นต้องใช้เซิร์ฟเวอร์ 1C ที่ไหน แต่การถ่ายโอนอุปกรณ์จริงจากคอมพิวเตอร์โฮสต์ไปยังระบบปฏิบัติการเกสต์อาจเป็นปัญหาได้มาก

ข้อเสียคือความเร็วในการทำงานลดลงเล็กน้อยที่สามารถคาดเดาได้ แต่มีความสำคัญน้อยกว่าเมื่อใช้เซิร์ฟเวอร์ SQL ฟรีมาก
ฮาร์ดแวร์เซิร์ฟเวอร์:
โปรเซสเซอร์ Intel-corei3-4130 (4 คอร์)
เมนบอร์ด GA-Z87M-HD3 (พร้อมรองรับ RAID)
ฮาร์ดไดรฟ์ 2 ตัวขนาด 1GB (sata)
แรม 8GB


ฮาร์ดแวร์ดังกล่าวจะรองรับระบบเกสต์เพียง 1 ระบบและการไหลของเอกสารที่เรียบง่าย ไม่จำเป็นต้องสร้างเครื่องเสมือน

เครื่องเสมือนได้รับการออกแบบมาสำหรับ:
1. ประหยัดในโปรเซสเซอร์และทรัพยากรคอมพิวเตอร์อื่น ๆ ในกรณีที่บริการใดบริการหนึ่งหยุดทำงาน
2. การเพิ่มความทนทานต่อข้อผิดพลาดของระบบ (การโยกย้ายเครื่องเสมือนแบบเรียลไทม์) ในระบบจัดเก็บข้อมูลและคลัสเตอร์
3. ความเรียบง่ายและสะดวกในการทดลองโดยผู้เชี่ยวชาญด้านไอที
ฉันไม่เข้าใจว่าทำไมต้องติดตั้งเพียงเซิร์ฟเวอร์ 1C ในเครื่องเสมือนสำหรับการผลิต

การทำงานปกติของ 1C ส่วนใหญ่ขึ้นอยู่กับจำนวน RAM ที่เพียงพอ คุณสามารถตรวจสอบได้ว่ามีหน่วยความจำที่จัดสรรเพียงพอสำหรับ VM ในแผงควบคุมระบบคลาวด์หรือไม่ ในการดำเนินการนี้ คุณต้องป้อนพารามิเตอร์ VM

และไปที่แท็บ "สถานะเครื่องเสมือน"

2. ติดตั้งไฟล์เพจจิ้งขนาดคงที่ 4GB และวางไว้บน Super disk

ความสนใจ- สำหรับระบบปฏิบัติการ Windows Server 2012 ไม่สามารถถ่ายโอนไฟล์เพจจิ้งไปยังดิสก์เพิ่มเติมได้ เนื่องจากลักษณะเฉพาะของการทำงานของเครื่องเสมือน

ต่อไปเราจะถ่ายโอนไฟล์สลับไปยังพาร์ติชันนี้ คลิก « ชนะ"+และรันคำสั่ง " ระบบซีพีแอล- ในหน้าต่างที่เปิดขึ้น ให้ไปที่แท็บ "ขั้นสูง" แล้วคลิก "ตัวเลือก"

ในหน้าต่างใหม่ ในแท็บ "ขั้นสูง" คลิก "แก้ไข"

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

จะต้องรีบูตระบบปฏิบัติการเพื่อให้การดำเนินการนี้เสร็จสมบูรณ์

3. การกำหนดค่าตำแหน่งของโปรไฟล์ผู้ใช้บน Super disk

เมื่อทำงานกับผู้ใช้เทอร์มินัล 1C เพื่อเพิ่มความเร็วในการทำงานคุณต้องกำหนดค่าตำแหน่งของโปรไฟล์ผู้ใช้บน Super Disk ในการดำเนินการนี้ คุณต้องเปลี่ยนการตั้งค่าในรีจิสทรีและรีสตาร์ทระบบปฏิบัติการ

คุณจะต้องเปลี่ยนพารามิเตอร์ในสาขา HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\ProfileList:

ProfilesDirectory - พาธไปยังตำแหน่งของโปรไฟล์ผู้ใช้ (การเปลี่ยนพารามิเตอร์นี้ก็เพียงพอแล้ว)

ค่าเริ่มต้นและสาธารณะ - เปลี่ยนแปลงตามที่คุณต้องการ

ความสนใจ! เราขอแนะนำให้เปลี่ยนการตั้งค่านี้ก่อนที่ผู้ใช้ใหม่จะเข้าสู่ระบบเป็นครั้งแรก มิฉะนั้นจะต้องเปลี่ยนพารามิเตอร์การวางตำแหน่งโปรไฟล์ผู้ใช้ด้วยตนเอง (คุณจะต้องค้นหาโฟลเดอร์ย่อยด้วยการตั้งค่าผู้ใช้ผ่านรีจิสตรีในสาขาเดียวกัน)

4. การล้างแคช 1C

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

อย่างไรก็ตาม บ่อยครั้งที่แพลตฟอร์ม 1C ไม่สามารถจัดการแคชการกำหนดค่าได้อย่างถูกต้อง และเป็นผลให้เราได้รับพฤติกรรมการกำหนดค่าที่ไม่เพียงพอ

ในการแก้ปัญหาและ "ข้อบกพร่อง" ของ 1C การล้างแคชของแพลตฟอร์ม 1C 8.3 มักจะช่วยได้มาก ทำได้ดังนี้:

  1. วิธีแรกในการล้างแคช 1C

ค้นหาไดเร็กทอรีที่เก็บไฟล์ 1C ชั่วคราวสามารถดูได้ในเมนูการตั้งค่าในรายการ IB:

เราได้ที่อยู่เช่น

C:\เอกสารและการตั้งค่า\ชื่อผู้ใช้\ข้อมูลแอปพลิเคชัน\1C\1Cv82\tmplts\1c

โฟลเดอร์แคชอยู่ที่

C:\เอกสารและการตั้งค่า\ชื่อผู้ใช้\ข้อมูลแอปพลิเคชัน\1C\1Cv82\

เมื่อไปที่นั่นเราพบโฟลเดอร์ที่น่าสนใจมากมาย (จำนวนโฟลเดอร์เท่ากับจำนวนการกำหนดค่า) โฟลเดอร์ที่น่าสนใจ:

ไดเรกทอรีที่เลือกทั้งหมดเป็นแคชฐานข้อมูล 1C และสามารถลบได้อย่างปลอดภัย ก่อนที่จะลบคุณต้องออกจากระบบความปลอดภัยของข้อมูล

ข. วิธีที่สองในการล้างไฟล์ชั่วคราว 1C

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

ค. วิธีที่สาม

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

ก่อนดำเนินการใด ๆ ขอแนะนำให้สำรองฐานข้อมูลและดาวน์โหลดจากฐานข้อมูล!

5. การสำรองและกู้คืนฐานข้อมูล

การอัพโหลดฐานข้อมูลเป็นไฟล์

เข้าสู่โปรแกรมในโหมดตัวกำหนดค่า ในการดำเนินการนี้ในหน้าต่างเริ่มต้นของโปรแกรมให้เลือกฐานข้อมูลที่ต้องการแล้วคลิก "Configurator":

คุณจะถูกนำไปที่โหมดการพัฒนาฐานข้อมูลและการดูแลระบบ จากนั้นเลือก “การดูแลระบบ - อัปโหลดฐานข้อมูล...” จากเมนู:

โปรแกรมจะแจ้งให้คุณเลือกเส้นทางที่จะอัปโหลดไฟล์ฐานข้อมูลและชื่อไฟล์ หลังจากเลือกโปรแกรมแล้วให้รายงานความสำเร็จของการดำเนินการ:

การเรียกคืนฐานข้อมูลจากไฟล์
หากต้องการกู้คืนฐานข้อมูลจากไฟล์ คุณต้องเข้าสู่โหมดตัวกำหนดค่า แต่เลือกรายการ "การดูแลระบบ - โหลดฐานข้อมูล...":

เลือกไฟล์ที่บันทึกไว้ก่อนหน้านี้ (นามสกุล .dt) ระบบจะเตือนคุณว่าข้อมูลที่ยังไม่ได้บันทึกจะสูญหาย ตกลงตามนี้

หากทุกอย่างเป็นไปด้วยดี 1C จะเสนอให้รีสตาร์ทตัวกำหนดค่า:

6. ยูทิลิตี้ chdbfl.exe สำหรับ 1C 8.2 และ 8.3

chdbfl.exe เป็นยูทิลิตี้สำหรับทดสอบและแก้ไขฐานข้อมูลข้อมูลไฟล์ 1C 8.3 (8.2) โปรแกรมตรวจสอบความสมบูรณ์ทางกายภาพของฐานข้อมูล นี่เป็นการทดสอบและแก้ไขแบบอะนาล็อกอย่างง่ายในตัวกำหนดค่า สำหรับสถานการณ์เหล่านั้นเมื่อระบบไม่เริ่มทำงานแม้จะอยู่ในโหมดตัวกำหนดค่าก็ตาม มาดูกันว่ายูทิลิตี้ chdbfl.exe อยู่ที่ไหนและใช้งานอย่างไร

ไม่จำเป็นต้องดาวน์โหลดยูทิลิตี้นี้จากทุกที่ โดยอยู่ในโฟลเดอร์ที่มีโปรแกรมที่ติดตั้งไว้ หากคุณตัดสินใจดาวน์โหลด chdblf.exe จากอินเทอร์เน็ต มีโอกาสที่คุณจะไม่ได้รับโปรแกรมแก้ไขความปลอดภัยของข้อมูลเลย แต่จะเป็นอันตรายต่อคอมพิวเตอร์และข้อมูลบริษัทของคุณ
ยูทิลิตี้นี้อยู่ในโฟลเดอร์ “bin” ของแพลตฟอร์มเทคโนโลยีที่ติดตั้ง ตัวอย่างเช่น - C:\Program Files (x86)\1cv8\8.3.*.***\bin\chdbfl.exe โดยที่ 8.3.*.*** คือหมายเลขการเผยแพร่ของแพลตฟอร์มของคุณ
โปรแกรมนี้ใช้งานง่ายมาก หลังจากเปิดตัว หน้าต่างต่อไปนี้จะปรากฏขึ้น:

โดยที่ในรูปแบบที่คุณต้องระบุเส้นทางไปยังไฟล์ฐานข้อมูลและระบุว่าจำเป็นต้องแก้ไขข้อผิดพลาดที่ตรวจพบทันทีหรือไม่ (หากไม่ได้ตั้งค่าสถานะยูทิลิตี้จะวินิจฉัยความปลอดภัยของข้อมูลเท่านั้น) เส้นทางไปยังไฟล์ฐานข้อมูลสามารถพบได้จากรายการการกำหนดค่าที่มีอยู่:

หลังจากดำเนินการแล้ว ระบบจะรายงานการดำเนินการที่เกิดขึ้น

7. การทดสอบและแก้ไขฐานข้อมูล 1C

โหมดการทดสอบและการแก้ไขถูกเรียกในตัวกำหนดค่าระบบ 1C 8.3 โดยเลือกเมนูการดูแลระบบ - การทดสอบและการแก้ไข

ตรวจสอบและโหมด

หน้าต่างนี้ระบุรายการการตรวจสอบและโหมดที่จำเป็นซึ่งจะดำเนินการตามผลของยูทิลิตี้ มาดูรายละเอียดเพิ่มเติมกัน:
จัดทำดัชนีตารางฐานข้อมูลใหม่ หากตั้งค่าสถานะนี้ ตารางจะถูกจัดทำดัชนีใหม่ การทำดัชนีใหม่เป็นการสร้างดัชนีใหม่ทั้งหมดสำหรับตารางที่กำหนด การทำดัชนีใหม่ช่วยปรับปรุงประสิทธิภาพของระบบโดยรวมอย่างมีนัยสำคัญ ขั้นตอนนี้จะไม่ฟุ่มเฟือยและเพิ่มประสิทธิภาพของระบบ
การตรวจสอบความสมบูรณ์ทางลอจิคัลของฐานข้อมูล - ระบบสามารถตรวจสอบความสมบูรณ์ทางลอจิคัลและโครงสร้างของฐานข้อมูล และค้นหาข้อผิดพลาดในการจัดระเบียบข้อมูล (เช่น หน้าในไฟล์)
การตรวจสอบความสมบูรณ์ของการอ้างอิงของฐานข้อมูล - รายการย่อยของการตรวจสอบเชิงตรรกะตรวจสอบข้อมูลในฐานข้อมูลว่ามีลิงก์ "เสีย" หรือไม่ ลิงก์ “เสีย” ปรากฏในฐานข้อมูลเนื่องจากนักพัฒนาประมวลผลข้อมูลไม่ถูกต้อง ส่วนใหญ่มักเกิดจากการลบข้อมูลโดยตรงหรือการแลกเปลี่ยนข้อมูลที่กำหนดค่าไม่ถูกต้อง เมื่อคุณพบข้อผิดพลาด คุณสามารถเลือกได้ 3 ตัวเลือก: สร้างวัตถุ - ระบบสร้างองค์ประกอบตัวยึดตำแหน่งที่สามารถเติมข้อมูลที่จำเป็นได้ ล้างลิงก์ - ลิงก์ "เสีย" จะถูกล้าง ห้ามเปลี่ยนแปลง - ระบบจะแสดงเฉพาะคุณเท่านั้น ข้อผิดพลาด
การคำนวณผลรวมใหม่ - ในแพลตฟอร์ม 1C ในการลงทะเบียนการสะสมและการลงทะเบียนการบัญชีมีแนวคิดเรื่องผลรวม ผลลัพธ์ - ตารางผลลัพธ์ที่คำนวณได้ซึ่งสามารถรับข้อมูลได้เร็วกว่าการวิเคราะห์การลงทะเบียนข้อมูลทั้งหมด ตามกฎแล้ว การคำนวณผลรวมใหม่จะช่วยเพิ่มประสิทธิภาพของระบบ
การบีบอัดตารางฐานข้อมูล - หากติดตั้งไว้ ฐานข้อมูลจะถูกบีบอัดและลดขนาดลง นี่เป็นเพราะความจริงที่ว่าเมื่อลบข้อมูลจากฐานข้อมูล 1C จะไม่ลบวัตถุเหล่านี้ทางกายภาพ แต่เพียง "ทำเครื่องหมาย" วัตถุเหล่านั้นเพื่อการลบ เหล่านั้น. ผู้ใช้ไม่เห็นพวกเขา แต่พวกเขาอยู่ที่นั่น :) เป็นการบีบอัดฐานข้อมูลอย่างแม่นยำที่จะลบบันทึกดังกล่าวอย่างถาวร เอฟเฟกต์เดียวกันนี้สามารถทำได้โดยการอัพโหลดและโหลดไฟล์ฐานข้อมูล (*.dt)
การปรับโครงสร้างตารางฐานข้อมูลเป็นกระบวนการที่ระบบสร้างตารางฐานข้อมูลขึ้นมาใหม่ โดยปกติแล้วกระบวนงานนี้จะถูกเรียกเมื่อมีการเปลี่ยนแปลงโครงสร้างข้อมูลเมตาของการกำหนดค่า การปรับโครงสร้างฐานข้อมูลทั้งหมดเป็นกระบวนการที่ใช้เวลานาน โปรดใช้ความระมัดระวัง
หากการทดสอบและแก้ไขด้วยเหตุผลบางประการไม่ช่วยหรือคุณไม่สามารถเข้าถึงตัวกำหนดค่าได้ ให้ใช้ยูทิลิตี้ chdbfl.exe

รหัสบทความ: 86 สร้างเมื่อ: 30 มิถุนายน 2559 เวลา 13:05 น, แก้ไขเมื่อ : 30 พฤษภาคม 2561 เวลา 17:27 น

ขั้นตอนที่ 1 ขั้นตอนที่ 1 อัปโหลดไฟล์การติดตั้งภายในเครื่องเสมือน

เราจะต้องมีไฟล์ติดตั้งดังต่อไปนี้:

1. แพลตฟอร์ม 1C

ขั้นตอนที่ 1 ขั้นตอนที่ 2 เริ่มการติดตั้งแพลตฟอร์ม 1C

ขั้นตอนที่ 1 ขั้นตอนที่ 3 การเชื่อมต่อส่วนประกอบ

ขั้นตอนที่ 1 ขั้นตอนที่ 4 เลือกภาษาอินเทอร์เฟซ

ขั้นตอนที่ 1 ขั้นตอนที่ 5 ติดตั้งแพลตฟอร์ม 1C

ขั้นตอนที่ 1 ขั้นตอนที่ 6 ติดตั้งไดรเวอร์ป้องกัน

ขั้นตอนที่ 1 ขั้นตอนที่ 7 ทำการติดตั้งแพลตฟอร์ม 1C ให้เสร็จสิ้น

ขั้นตอนที่ 2 เปิดพอร์ตเพื่อเข้าถึงเครื่องเสมือนจากภายนอก

ขั้นตอนที่ 2 ขั้นตอนที่ 1 ไปที่แผงควบคุมเครื่องเสมือน

ขั้นตอนที่ 2 ขั้นตอนที่ 2 ไปที่เมนู "ปลายทาง" (นี่คือพอร์ตที่เปิดออกไปด้านนอก)

ขั้นตอนที่ 2 ขั้นตอนที่ 3 เพิ่มจุดสิ้นสุดใหม่ (พอร์ต)

เราต้องการพอร์ต 80 ที่นี่คุณสามารถดูได้ว่าพอร์ตใดบ้างที่เปิดอยู่แล้ว หนึ่งใช้สำหรับเชื่อมต่อผ่าน rdp

ขั้นที่ 2 ขั้นตอนที่ 4 อย่าฉลาดเลย คลิกถัดไป

ขั้นตอนที่ 2 ขั้นตอนที่ 5 กรอกพารามิเตอร์พอร์ต บันทึก.

ขั้นตอนที่ 2 ขั้นตอนที่ 6 สร้างพอร์ต 80 แล้ว

ขั้นตอนที่ 3: การติดตั้ง IIS 7.5 เว็บเซิร์ฟเวอร์

ด่าน 3 ขั้นตอนที่ 1 เพิ่มบทบาทใหม่

ขั้นตอนที่ 3 ขั้นตอนที่ 2 ถัดไป

ด่าน 3 ขั้นตอนที่ 3 เลือกบทบาทที่เราต้องการ ต่อไป

ขั้นที่ 3 ขั้นตอนที่ 4 ถัดไป

ขั้นตอนที่ 3 ขั้นตอนที่ 5 ตั้งค่าบทบาท

ขั้นตอนที่ 3 ขั้นตอนที่ 6 ถัดไป

ขั้นตอนที่ 3 ขั้นตอนที่ 7 ตั้งค่าบทบาท

ขั้นตอนที่ 3 ขั้นตอนที่ 8 ติดตั้ง IIS

ขั้นตอนที่ 3 ขั้นตอนที่ 9 ปิดแบบฟอร์ม

ขั้นตอนที่ 3 ขั้นตอนที่ 10 ตรวจสอบการทำงานของเว็บเซิร์ฟเวอร์ภายในเครื่องเสมือน

หากต้องการตรวจสอบ เพียงเปิดเบราว์เซอร์แล้วป้อน http://localhost ในแถบที่อยู่

ดังนั้นคุณจะเห็นหน้าจอเริ่มต้นของ IIS

ขั้นตอนที่ 3 ขั้นตอนที่ 11 ตรวจสอบการทำงานของเว็บเซิร์ฟเวอร์จากภายนอกเครื่องเสมือน

ขั้นตอนจะเหมือนกัน จากคอมพิวเตอร์เครื่องใดก็ได้ ไปที่เบราว์เซอร์แล้วเขียนที่อยู่ของเครื่องเสมือนของเราลงในแถบที่อยู่ (ดูส่วนที่ 1) คุณสามารถระบุที่อยู่ IP ภายนอกได้

ตามค่าเริ่มต้น เว็บเซิร์ฟเวอร์ IIS7.5 จะใช้พอร์ต 80 ซึ่งเราได้สร้างขึ้นในขั้นที่ 2

ด้วยเหตุนี้ คุณควรเห็นหน้าจอเริ่มต้นของ IIS 7.5 ด้วย

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

โดยพื้นฐานแล้ว นี่คือฟีเจอร์ Reflection ที่ขาดหายไปใน 1C ซึ่งมีอยู่บนแพลตฟอร์มอื่น เช่น บน .NET และช่วยให้คุณทำสิ่งที่น่าทึ่งอย่างแท้จริงที่นั่น

สำหรับผู้ที่ไม่คุ้นเคยกับ Reflection: Wikipedia

รายละเอียดงาน

VM1C ทำงานโดยไม่ต้องใช้ส่วนประกอบภายนอกใดๆ โดยใช้ความสามารถ 1C มาตรฐานเท่านั้น และไม่ได้ขึ้นอยู่กับแพลตฟอร์มและการกำหนดค่า สามารถเพิ่มลงในการกำหนดค่าได้ทั้งในรูปแบบการประมวลผลหรือโมดูลทั่วไป

VM1C ประกอบด้วย:

ลองดูแต่ละองค์ประกอบแยกกัน

VM1C_IL_คอมไพเลอร์- หน้าที่ของมันคือการแปลงข้อความต้นฉบับของโมดูลหรือวิธีการให้เป็นชุดคำสั่งประกอบแบบสั้น

ยกตัวอย่างโค้ดต่อไปนี้

สำหรับ n=1 สำหรับ 100 รอบ n = n+1; สิ้นสุดรอบ; กลับ n;

จะถูกแปลงเป็นชุดคำสั่ง

กด 1 stloc 0 กด 100 stloc 1 br ~IL_1 ~IL_2: ldloc 0 กด 1 เพิ่ม stloc 0 ldloc 0 กด 1 เพิ่ม stloc 0 ~IL_1: ldloc 0 ldloc 1 ble ~IL_2 ~IL_0: nop ldloc 0 ret

นี้จะกระทำเพื่อที่จะ

  1. เร่งความเร็วการประมวลผลโค้ดเพิ่มเติมแบบเรียลไทม์ เนื่องจากกระบวนการรวบรวมนั้นใช้เวลาค่อนข้างนาน
  2. ให้ความสามารถในการสร้างและดำเนินการตามขั้นตอนและฟังก์ชั่นในโหมด 1C Enterprise

Vm1C_IL_Compiler = กำลังประมวลผล._VM1C_IL_Compiler.Create(); ข้อความของโมดูล = LoadCodeFromFile("Modules\WorkingwithProducts"); โมดูล = vm1C_IL_Compiler.CompileModule (ข้อความโมดูล);

เมื่อเรามีโค้ดระดับกลาง (โค้ด IL) แล้ว เราก็สามารถรันโค้ดนั้นในเครื่องเสมือนได้

เครื่องเสมือนVM1Cอนุญาตให้ใช้คอมไพเลอร์ JIT ได้ทันทีเพื่อรวบรวมโมดูลจากโค้ด IL กลับเป็นโค้ด 1C ที่เข้าใจได้ โค้ดที่คอมไพล์ได้รับการปรับให้เหมาะสม แคชไว้เพื่อใช้ซ้ำในภายหลัง และสามารถดำเนินการได้

Vm1C_VM = กำลังประมวลผล._VM1C_VM.สร้าง(); vm1C_VM.AddModule("WorkwithProducts", โมดูล); พารามิเตอร์ = อาร์เรย์ใหม่ (); พารามิเตอร์เพิ่ม ("00000453"); ผลลัพธ์ = vm1C_VM.CallMethod ("WorkwithProducts", "GetPrice", พารามิเตอร์);

MethodInfo = vm1C_VM.GetCurrentMethodInfo(); พารามิเตอร์ = methodInfo ["พารามิเตอร์"]; -

รับโค้ดฟังก์ชัน

ByteCode = methodInfo ["ByteCode"];

เปลี่ยน เพิ่มพารามิเตอร์ และเรียกอีกครั้งในรูปแบบที่แก้ไข ฯลฯ

บทสรุป

ขณะนี้โปรเจ็กต์อยู่ในขั้นตอนของเวอร์ชันอัลฟ่าดิบ ดังนั้นฉันจึงโพสต์เฉพาะคำอธิบายและวิดีโอสาธิตเท่านั้น


วัตถุประสงค์ของเอกสารเผยแพร่นี้คือเพื่อประเมินความต้องการผลิตภัณฑ์นี้ ว่าผลิตภัณฑ์จะมีประโยชน์ต่อนักพัฒนาเพียงใด ในกรณีที่เครื่องมือมาตรฐานไม่เพียงพอที่จะนำแนวคิดที่เป็นนวัตกรรมใหม่ล่าสุดไปใช้อีกต่อไป

หากใครสนใจในการพัฒนานี้โปรดแจ้งให้เราทราบ!

สาธิตการทำงาน

ขอแสดงความนับถือ,

นักพัฒนา m.bolsun

(ค) 2013-2014 VM1C

อัปเดต: สิ่งพิมพ์อยู่ในร่างมานานแล้วเพราะ... นอกเหนือจากความสนใจด้านวิชาการแล้ว ยังไม่มีการนำไปประยุกต์ใช้จริงสำหรับโครงการนี้ในทันที แต่เมื่อเร็ว ๆ นี้ฉันสามารถใช้ความสามารถของตนได้ในทางปฏิบัติและได้ตัดสินใจส่งคืนสิ่งพิมพ์ เร็วๆ นี้เทคโนโลยีจากโครงการนี้จะถูกนำมาใช้ใน Code Inspector เวอร์ชันใหม่

ต้องขอบคุณคอมไพเลอร์ที่มีคุณสมบัติครบถ้วนใหม่ Inspector จะได้รับการวิเคราะห์แบบคงที่และคุณสมบัติใหม่หลายประการ:

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

เริ่มแรก การจำลองเสมือนอยู่ในระดับซอฟต์แวร์เท่านั้น และข้อดีของการจำลองเสมือนถูกชดเชยด้วยการชะลอตัวอย่างมากในการทำงานในสภาพแวดล้อมเสมือน ปัญหาได้รับการแก้ไขบางส่วนในฮาร์ดแวร์ - ผู้จำหน่ายได้พัฒนาคำแนะนำสำหรับโปรเซสเซอร์ Intel VT-d, AMD-V เป็นต้น เพื่อเร่งการทำงาน อย่างไรก็ตาม หน่วยความจำและโปรเซสเซอร์ไม่ใช่ส่วนประกอบเพียงอย่างเดียว แต่ยังมีการ์ดแสดงผล ฮาร์ดไดรฟ์ ฯลฯ และความเร็วของการดำเนินการโดยตรงขึ้นอยู่กับการดำเนินการเข้าถึง เหล่านั้น. ความเร็วของการทำงานยังคงขึ้นอยู่กับผู้ผลิตเครื่องเสมือน ไดรเวอร์จากผู้ผลิตอุปกรณ์ และความสามารถของซอฟต์แวร์ขั้นสุดท้ายในการจดจำการจำลองเสมือน ทั้งนี้ขึ้นอยู่กับผู้ผลิตเครื่องเสมือน
แอปพลิเคชันต่างๆ ทำงานช้าลงในความเป็นจริงเสมือน
นอกเหนือจากต้นทุนด้านฮาร์ดแวร์ในการบำรุงรักษาซอฟต์แวร์การจำลองเสมือนแล้ว ปัจจัยที่ชะลอตัวอีกประการหนึ่งคือการจัดระเบียบของเวลาที่ผ่านไป ความเร็วการไหลในต่อมทางกายภาพและต่อมเสมือนไม่เท่ากัน นอกจากนี้เครื่องเสมือนสามารถหยุดชั่วคราวได้ ความซับซ้อนของการใช้ตัวจับเวลา สวิตช์ซิงโครไนซ์ และการสกัดกั้นทรัพยากรฮาร์ดแวร์ทางกายภาพในระบบเสมือน ไม่อนุญาตให้แก้ไขปัญหาแบบตัวต่อตัวเช่นเดียวกับฮาร์ดแวร์ทางกายภาพ ส่วนใหญ่ขึ้นอยู่กับผู้จำหน่ายเฉพาะราย

เราทำการทดสอบเพื่อศึกษาความเร็วของเธรดเพื่อประเมินว่าการจำลองเสมือนสามารถส่งผลต่อความเร็วของงานเธรดเดี่ยวใน 1C ได้มากเพียงใด รวมถึงการทำงานของอินเทอร์เฟซด้วย

จากผลลัพธ์ที่ได้รับ ข้อสรุปที่สำคัญที่สุดไม่ใช่ตัวเลข แต่เป็นความจริงที่ว่าประสบการณ์ยังจำเป็นต้องค้นหาในทางปฏิบัติและไม่ใช่ในทางทฤษฎี ตัวเลือกที่ดีที่สุดสำหรับการใช้งาน 1C สำหรับโหลดเฉพาะของคุณ
อิทธิพลของเลเยอร์การจำลองเสมือนนั้นสังเกตได้ชัดเจนเป็นพิเศษต่อการดำเนินการที่รวดเร็วของฐานข้อมูล 1C และนี่ก็เป็นตรรกะ ยิ่งเวลาดำเนินการสั้นลง เวลาแฝงในการให้บริการชั้นเวอร์ช่วลไลเซชั่นก็จะยิ่งนานขึ้นเท่านั้น
กล่าวอีกนัยหนึ่ง หากเราทำการดำเนินการที่ยาวนานหนึ่งครั้งเป็นเวลาหนึ่งพันวินาที ความล่าช้าหนึ่งในสิบสำหรับการบำรุงรักษาระบบเสมือนจะลดลงในที่เก็บข้อมูลและจะไม่สังเกตเห็นได้ชัดเจน แต่ถ้าเราดำเนินการนับหมื่นโดยแต่ละการดำเนินการใช้เวลาหนึ่งในสิบของวินาที ความล่าช้าในการให้บริการจะเห็นได้ชัดเจนเนื่องจากจะสมส่วนกับระยะเวลาของการดำเนินการ

จะทำอย่างไร

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

1. ต้องปิด "สแนปชอต" - ซึ่งจะช้าลง ยิ่งกว่านั้นอิทธิพลยังไม่ชัดเจน สำหรับรายละเอียดโปรดดูhttp://vkeygen.blogspot.ru/2011/10/snapshot.html

ไมโครซอฟต์ ไฮเปอร์-วี

- เมื่อใช้เซิร์ฟเวอร์ Hyper-V พร้อมโหนด NUMA

VMware ESXi และ vSphere

การใช้เครื่องเสมือนโดยรวมสำหรับการทำโหลดบาลานซ์
ปัญหาอยู่ที่การทำงานของส่วนประกอบ vCenter ที่เรียกว่า DRS (Distributed Resource Scheduler) ซึ่งมีหน้าที่สร้างสมดุลโหลดของเครื่องเสมือนบนเซิร์ฟเวอร์จริงเมื่อโหลดจำนวนมากปรากฏขึ้นในแง่ของกำลังของโปรเซสเซอร์หรือโหลด RAM DRS จะย้ายเครื่องเสมือนไปยังโฮสต์ทางกายภาพอื่นที่มีการโหลดน้อยที่สุดในขณะนี้ ที่จุดสุดยอดของกระบวนการนี้ ปัญหาระยะสั้นเกิดขึ้นด้วยการเข้าถึงทรัพยากรของ VM นี้

สุทธิ

สำหรับเซิร์ฟเวอร์เสมือน ESXi 6.0 ที่มีเซิร์ฟเวอร์ 1c ห้ามใช้อินเทอร์เฟซเครือข่ายประเภท WMXNET3 ให้ใช้เฉพาะประเภท e1000e

แรม

- ปิดใช้งานการขจัดข้อมูลซ้ำซ้อนของหน่วยความจำสำหรับ EXSi - การแชร์เพจแบบโปร่งใสบนโฮสต์ VMware ESXi

หากคุณต้องการปิดการใช้งานกลไกนี้ในตอนนี้ คุณต้องดำเนินการดังต่อไปนี้:

ในเวอร์ชั่นเก่า


หลังจากอัพเดตแพตช์และ ESXi กลไก TPS สามารถเปิดใช้งานได้ดังต่อไปนี้ (การตั้งค่าขั้นสูงในส่วนซอฟต์แวร์):

  • พารามิเตอร์ Mem.ShareForceSalting(เปิดใช้งาน TPS ที่ระดับโฮสต์ ESXi ทั้งหมด) หากค่าเป็น 0 แสดงว่า TPS ยังคงทำงานบนโฮสต์ หากเป็น 1 กลไกจะถูกปิดใช้งาน
  • พารามิเตอร์ sched.mem.pshare.salt(ตั้งค่าที่ระดับ VM) ช่วยให้คุณสามารถเปิด/ปิดใช้งาน TPS สำหรับเครื่องเสมือนแต่ละเครื่อง (เช่น Windows หรือ Linux เก่า - คุณสามารถเปิดใช้งานสำหรับเครื่องเหล่านั้นได้) เมื่อพารามิเตอร์ ShareForceSalting ถูกตั้งค่าเป็น 1 ดังนั้นสำหรับเครื่องจักรที่ต้องการ TPS ในการกำหนดค่าขั้นสูง คุณจะต้องตั้งค่าเกลือให้เหมือนกัน หากไม่มีสิ่งนี้ TPS จะไม่ทำงาน - ดังนั้นจึงถูกปิดใช้งาน

ซีพียู

— เปิดใช้งานแหล่งจ่ายไฟประสิทธิภาพสูงสุด

— vSphere รู้เรื่องเป็นอย่างดี และพยายามวางเคอร์เนลของเครื่องเสมือนบนตัวประมวลผลทางกายภาพที่หน่วยความจำปัจจุบันมี RAM ของเครื่องเสมือน แต่ข้อผิดพลาดก็เกิดขึ้นที่นี่ ผู้ผลิตเซิร์ฟเวอร์ต้องการรวมการจำลอง NUMA ไว้ใน BIOS เป็นค่าเริ่มต้น นั่นคือเซิร์ฟเวอร์ปรากฏต่อระบบปฏิบัติการว่าเป็นอุปกรณ์ NON-NUMA และ vSphere ไม่สามารถใช้การเพิ่มประสิทธิภาพเพื่อจัดการเทคโนโลยีนี้ได้ เอกสาร vSphere แนะนำให้ปิดการใช้งานตัวเลือกนี้ใน BIOS ซึ่งจะทำให้ vSphere สามารถจัดการกับปัญหาได้ด้วยตัวเอง

คนขับรถ

— ติดตั้งการเพิ่มแขกของเครื่องมือ VMware

สิ่งแรกที่คุณต้องทำหลังจากติดตั้งระบบปฏิบัติการเกสต์ภายในเครื่องเสมือนคือการติดตั้งแพ็คเกจซอฟต์แวร์ - VMware Tools Guest Additions สำหรับ VMware แพคเกจเหล่านี้ประกอบด้วยไดรเวอร์พิเศษที่ช่วยให้ระบบปฏิบัติการเกสต์ทำงานได้เร็วขึ้นบนฮาร์ดแวร์เครื่องเสมือน

เลือกติดตั้ง VMware Tools จากเมนูเครื่องเสมือน ทำตามคำแนะนำบนหน้าจอของคุณเพื่อทำการติดตั้งให้เสร็จสมบูรณ์ หากคุณใช้ Windows guest OS คุณจะเห็นว่ากระบวนการนี้ไม่แตกต่างจากการติดตั้งแอปพลิเคชันอื่น

กำลังตรวจสอบเครื่องมือ VMware

  • เลือกโฮสต์ใน vClient
  • ไปที่แท็บ เครื่องเสมือน;
  • เพิ่มคอลัมน์ "สถานะเครื่องมือ VMware";
  • ประเมินสถานะ ตกลง->นั่นหมายความว่าทุกอย่างเรียบร้อยดี คุณไม่จำเป็นต้องทำอะไรเลย ไม่ทำงาน/ล้าสมัย - ตัดออก

หาก VMware Tools ไม่ทำงาน คุณจะต้องจัดการกับระบบปฏิบัติการเกสต์ สาเหตุอาจเป็นการอัปเดตเคอร์เนล Linux หรือบริการ VMware Tools ที่ปิดใช้งาน (โดยใครบางคน) ใน Windows

หาก VMware Tools ล้าสมัย คุณจะต้องอัปเดตจากเมนูบริบท vClient โดยทั่วไป สิ่งนี้จะเกิดขึ้นหลังจากติดตั้งการอัปเดตบนโฮสต์ ESX/ESXi หลังจากนี้ คุณมักจะต้องอัปเดต VMware Tools

แผ่นดิสก์

— เมื่อใช้ที่จัดเก็บข้อมูลภายนอก

  • โหมดถาวรอิสระของดิสก์ vmdk มีประสิทธิภาพมากที่สุด เนื่องจากการเปลี่ยนแปลงจะทำกับดิสก์โดยตรงโดยไม่ต้องถูกบันทึก แต่ดิสก์ดังกล่าวไม่อยู่ภายใต้สแนปช็อตและไม่สามารถย้อนกลับได้
  • เมื่อใช้ iSCSI ขอแนะนำให้กำหนดค่าจัมโบ้เฟรม (MTA=9000) บนอินเทอร์เฟซและอุปกรณ์เครือข่ายทั้งหมด
  • MultiPathing - สำหรับกรณีส่วนใหญ่ RoundRobin - ตกลง แบบคงที่สามารถให้ประสิทธิภาพที่ดีขึ้น แต่นั่นเกิดขึ้นหลังจากการวางแผนอย่างรอบคอบและการกำหนดค่าด้วยตนเองของแต่ละโฮสต์จนถึงแต่ละ LUN สามารถติดตั้ง MRU ในการกำหนดค่าแบบแอ็คทีฟ-พาสซีฟได้หากบางเส้นทางหายไปเป็นครั้งคราว - เพื่อไม่ให้ข้ามไปมา

การละทิ้งระบบเสมือนจริงในทางปฏิบัติมีหน้าตาเป็นอย่างไร? การจำลองเสมือนไม่ได้ทำให้สิ่งต่าง ๆ ช้าลงอย่างมีนัยสำคัญเสมอไป แต่ลักษณะของโหลดและปริมาณข้อมูลก็มีความสำคัญเช่นกัน