ভার্চুয়াল মেশিন অতিথির জন্য আমি কীভাবে ডিস্ক অ্যাক্সেস ব্যান্ডউইদথকে সীমাবদ্ধ করতে পারি?


8

আমার উবুন্টুতে একটি ভার্চুয়ালবক্স রয়েছে (হোস্ট) যা কয়েকটি উইন্ডোজ গেস্ট ওএস পরিবেশন করে।
কখনও কখনও চলমান উইন্ডোজ ভার্চুয়াল মেশিনটি ডিস্কটিতে ব্যাপক অ্যাক্সেস শুরু করে যা আমার হোস্ট পরিবেশে আমাকে বাধা দেয়। আমি শারীরিক হার্ডডিস্কে ডেটা অ্যাক্সেসের পড়া / লেখাকে সীমাবদ্ধ করতে চাই।

আমি এটা কিভাবে করবো?


অনেকটা বাগের মতো শোনাচ্ছে। কোন ধরণের কার্যকলাপের কারণে সমস্যা দেখা দিয়েছে? আপনি কি র‌্যামের বাইরে চলে যাচ্ছেন (আপনি কতটা সোয়াপ স্পেস ব্যবহার করছেন?)
প্যান্থার

1
ব্যাপক অ্যাক্সেসের জন্য অনেকগুলি কারণ থাকতে পারে এবং আপনি সেগুলির মধ্যে একটি সম্পর্কে সঠিক। যাইহোক, আমার প্রশ্নটি কোনও ভিএমকে সীমাবদ্ধ করার বিষয়ে একটি জেনেরিক যাতে এটি হোস্টকে চাইলেও এটি ব্যান্ডউইথের কিছু অংশ ব্যবহার করার অনুমতি দেয় না।
ইয়াসাইল

@ bodhi.zazen আমি হার্ড ডিস্কে অ্যাক্সেস (পড়া / লেখার) সীমাবদ্ধ করতে চাই। ভিএম ইমেজ সেটিংস থেকে র‌্যাম এবং সিপিইউ সীমাবদ্ধ করা যেতে পারে তবে কোনও অতিথি যদি ডিস্কে ভার্চু রিডিং / লেখার কাজ করে থাকেন (অবশ্যই ভার্চুয়াল ডিস্ক) তবে তার কোনও সীমা নেই।
ইয়াসাইল ২

উত্তর:


9

সংস্করণ 4.0 থেকে শুরু করে আমরা ডিস্ক চিত্রগুলিতে অ্যাক্সেসের জন্য ভার্চুয়াল বক্স ব্যান্ডউইথকে সীমাবদ্ধ করতে সক্ষম হয়েছি ( বিশদগুলির জন্য ভার্চুয়াল বক্স ম্যানুয়াল দেখুন)

আমাদের প্রথমে একটি ব্যান্ডউইথ গ্রুপ তৈরি করতে হবে (নীচে "এমবি / সেকেন্ডের জন্য" সীমাবদ্ধতা দেওয়া উদাহরণ হিসাবে):

VBoxManage bandwidthctl "VM name" add Limit --type disk --limit 20M
VBoxManage storageattach "VM name" --storagectl "SATA" --port 0 --device 0 --type hdd
                                   --medium disk1.vdi --bandwidthgroup Limit
VBoxManage storageattach "VM name" --storagectl "SATA" --port 1 --device 0 --type hdd
                                   --medium disk2.vdi --bandwidthgroup Limit

আপনি যদি এই ত্রুটিটি পান:

VBoxManage: error: Cannot register the hard disk '.../foo.vdi' {...} because a hard disk '.../foo.vdi' with UUID {...} already exists

তারপরে ডিস্ক ইমেজটির পাথটি ইউইউডি দিয়ে ত্রুটিতে প্রদত্ত (উভয়ই একই হওয়া উচিত) সহ প্রতিস্থাপন করুন {}

10 এমবি / সেকেন্ডে ডিস্ক অ্যাক্সেসকে আরও সীমাবদ্ধ করতে আমরা এরপরে ইস্যু করতে পারি

VBoxManage bandwidthctl "VM name" set Limit --limit 10M 

এটি রানটাইমের সময়ও করা যেতে পারে।


2
--controller আর সঠিক কমান্ড নেই। এটি এখন হওয়া উচিত - স্টোরেজেক্টল " SATA কন্ট্রোলারের নাম " হওয়া উচিত যখন ভিএম কমান্ডটি চালাচ্ছিল তখন অ্যাক্সেস সীমাবদ্ধ করতে হবে VBOXManage ব্যান্ডউইথথ্রিট্রল "ভিএমনেম"

চমৎকার উত্তর. ভার্চুয়াল বাক্সে এখানে কমান্ডটি 4.2.12 ছিল VBoxManage bandwidthctl "VM Name" add "Limit" --type disk --limit 10এবং ছিল VBoxManage storageattach "VM Name" --storagectl "SATA" --port 0 --device 0 --type hdd --medium "Disk Name.vdi" --bandwidthgroup "Limit"
এরিক পেট্রুসেলি
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.