หลังจากอ่านบทความนี้แล้ว เหลือเพียงคำถามเดียวคือ “ทำไม” มาดูคำอธิบายของผู้เขียนกันดีกว่า
ภายในเครื่องเสมือนคุณสามารถทำงานกับโซลูชันซอฟต์แวร์และระบบปฏิบัติการที่ล้าสมัยได้
แค่กรณีของฉัน คุณสามารถใช้ใบอนุญาตที่มีอยู่สำหรับเซิร์ฟเวอร์ 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 มักจะช่วยได้มาก ทำได้ดังนี้:
- วิธีแรกในการล้างแคช 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นี้จะกระทำเพื่อที่จะ
- เร่งความเร็วการประมวลผลโค้ดเพิ่มเติมแบบเรียลไทม์ เนื่องจากกระบวนการรวบรวมนั้นใช้เวลาค่อนข้างนาน
- ให้ความสามารถในการสร้างและดำเนินการตามขั้นตอนและฟังก์ชั่นในโหมด 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 ในการกำหนดค่าแบบแอ็คทีฟ-พาสซีฟได้หากบางเส้นทางหายไปเป็นครั้งคราว - เพื่อไม่ให้ข้ามไปมา
การละทิ้งระบบเสมือนจริงในทางปฏิบัติมีหน้าตาเป็นอย่างไร? การจำลองเสมือนไม่ได้ทำให้สิ่งต่าง ๆ ช้าลงอย่างมีนัยสำคัญเสมอไป แต่ลักษณะของโหลดและปริมาณข้อมูลก็มีความสำคัญเช่นกัน