rss
10-04-2008, 04:32 PM
السلام عليكم ورحمة الله وبركاته
مرحبا !
فى هذا الموضوع البسيط والخفيف إن شاء الله سنتناول كيفية عمل عدة نسخ من جهاز افتراضى واحد (Guest) دون الحاجة إلى تكرار عملية التثبيت مرة أخرى ، قد يعتقد البعض أن المشكلة بسيطة مجرد عمل نسخ ولصق لصورة الجهاز الوهمى (any_value.vdi) تحت إسم آخر ومن ثمّ إنشاء الجهاز الإفتراضى كما لو كنا نقوم بإنشاء جهاز افتراضى من جديد هو الحل ، لكن للأسف هذا الأمر غير مجدى لأنه لو قمت بعمل ذلك حينها ستواجه مشكلة تواجد نفس ال UUID لصورة الجهاز القديم مسجلة بنفس القيمة كما يلى :
كود PHP:
A hard disk with UUID {ea1d4590-5695-477e-82eb-9974acd8026d} or with the same properties ('/home/openser/Desktop/debian-1.vdi') is already registered.
Result Code:
NS_ERROR_INVALID_ARG (0x80070057)
Component:
VirtualBox
Interface:
IVirtualBox {557a07bc-e6ae-4520-a361-4a8493199137}
للتغلب على تلك المشكلة كل ما فى الأمر هو تغيير ال UUID لصورة القرص الجديد (any_value.vdi) وحينها ستصبح قادرا على عمل نسخ عديدة من نفس الجهاز الإفتراضى دون أدنى مشكلة .
الآن كيف لنا أن نقوم بذلك ؟
هناك طريقتان :
الطريقة الأولى الرسمية (المعتمدة فى الدليل لل Virtualbxox) :
هى عمل clone من الجهاز الإفتراضى الذى تود نسخه عدة مرات إلى الإسم الجديد الذى تريده وأثناء تنفيذ عملية ال clone لصورة القرص الجديد سيتم وضع UUID جديد دون أدنى مشكلة ولنفترض المثال التالى :
توجد لديك مثلا على سطح المكتب (Desktop) صورة لقرص يخص توزيعة ديبيان تحت إسم debian.vdi سنقوم الآن بتكرار ذلك القرص مرة أخرى تحت مسمى آخر وليكن debian-1.vdi بالشكل التالى :
كود PHP:
$ cd ~/Desktop
$ VBoxManage clonevdi ~/Desktop/debian.vdi ~/Desktop/debian-1.vdi
الآن أصبح لديك نسخة أخرى من صورة القرص debian.vdi تحت إسم debian-1.vdi وتستطيع استخدامها مرة أخرى (أعنى debian-1.vdi) كما لو كانت للتو مُنشأة .
ملحوظة : إذا أردت عمل عدة نسخ فقم بتغيير الإسم debian-1.vdi إلى ما تريده كأن يكون debian-2.vdi ، debian-3.vdi وهكذا ..
لاحظ أيضا أثناء استخدام الأمر VBoxManage clonevdi لابد من تحديد المسار الكامل لكلا ً من صورة القرصين الأصل والنسخة .
الطريقة الثانية (غير مفضلة) :
الطريقة الثانية هى استخدام الأمر cp لعمل نسخة من صورة القرص وتغيير إسم الملف الجديد كما ذكرنا سابقا إلى أى اسم آخر ، بعد ذلك سنقوم بتغيير ال UUID للملف الجديد ، والخطوات كما تلى :
كود PHP:
$ cd ~/Desktop
$ cp debian.vdi debian-1.vdi
$ VBoxManage internalcommands setvdiuuid debian-1.vdi
تلميح : الطريقة الأولى يمكن أن تستخدم لعمل backup من الأجهزة الإفتراضية .
والآن استمتع بالنسخ الجديدة !!
السلام عليكم ورحمة الله وبركاته
مرحبا !
فى هذا الموضوع البسيط والخفيف إن شاء الله سنتناول كيفية عمل عدة نسخ من جهاز افتراضى واحد (Guest) دون الحاجة إلى تكرار عملية التثبيت مرة أخرى ، قد يعتقد البعض أن المشكلة بسيطة مجرد عمل نسخ ولصق لصورة الجهاز الوهمى (any_value.vdi) تحت إسم آخر ومن ثمّ إنشاء الجهاز الإفتراضى كما لو كنا نقوم بإنشاء جهاز افتراضى من جديد هو الحل ، لكن للأسف هذا الأمر غير مجدى لأنه لو قمت بعمل ذلك حينها ستواجه مشكلة تواجد نفس ال UUID لصورة الجهاز القديم مسجلة بنفس القيمة كما يلى :
كود PHP:
A hard disk with UUID {ea1d4590-5695-477e-82eb-9974acd8026d} or with the same properties ('/home/openser/Desktop/debian-1.vdi') is already registered.
Result Code:
NS_ERROR_INVALID_ARG (0x80070057)
Component:
VirtualBox
Interface:
IVirtualBox {557a07bc-e6ae-4520-a361-4a8493199137}
للتغلب على تلك المشكلة كل ما فى الأمر هو تغيير ال UUID لصورة القرص الجديد (any_value.vdi) وحينها ستصبح قادرا على عمل نسخ عديدة من نفس الجهاز الإفتراضى دون أدنى مشكلة .
الآن كيف لنا أن نقوم بذلك ؟
هناك طريقتان :
الطريقة الأولى الرسمية (المعتمدة فى الدليل لل Virtualbxox) :
هى عمل clone من الجهاز الإفتراضى الذى تود نسخه عدة مرات إلى الإسم الجديد الذى تريده وأثناء تنفيذ عملية ال clone لصورة القرص الجديد سيتم وضع UUID جديد دون أدنى مشكلة ولنفترض المثال التالى :
توجد لديك مثلا على سطح المكتب (Desktop) صورة لقرص يخص توزيعة ديبيان تحت إسم debian.vdi سنقوم الآن بتكرار ذلك القرص مرة أخرى تحت مسمى آخر وليكن debian-1.vdi بالشكل التالى :
كود PHP:
$ cd ~/Desktop
$ VBoxManage clonevdi ~/Desktop/debian.vdi ~/Desktop/debian-1.vdi
الآن أصبح لديك نسخة أخرى من صورة القرص debian.vdi تحت إسم debian-1.vdi وتستطيع استخدامها مرة أخرى (أعنى debian-1.vdi) كما لو كانت للتو مُنشأة .
ملحوظة : إذا أردت عمل عدة نسخ فقم بتغيير الإسم debian-1.vdi إلى ما تريده كأن يكون debian-2.vdi ، debian-3.vdi وهكذا ..
لاحظ أيضا أثناء استخدام الأمر VBoxManage clonevdi لابد من تحديد المسار الكامل لكلا ً من صورة القرصين الأصل والنسخة .
الطريقة الثانية (غير مفضلة) :
الطريقة الثانية هى استخدام الأمر cp لعمل نسخة من صورة القرص وتغيير إسم الملف الجديد كما ذكرنا سابقا إلى أى اسم آخر ، بعد ذلك سنقوم بتغيير ال UUID للملف الجديد ، والخطوات كما تلى :
كود PHP:
$ cd ~/Desktop
$ cp debian.vdi debian-1.vdi
$ VBoxManage internalcommands setvdiuuid debian-1.vdi
تلميح : الطريقة الأولى يمكن أن تستخدم لعمل backup من الأجهزة الإفتراضية .
والآن استمتع بالنسخ الجديدة !!
السلام عليكم ورحمة الله وبركاته