ভার্চুয়ালবক্স এবং এসএসডি-র ট্রিম কমান্ড সমর্থন করে


27

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

সূত্র:
https://forums.virtualbox.org/viewtopic.php?f=7&t=51768
http://jaysonrowe.blogspot.com/2013/08/compacting-virtualbox-vdi.html

আমার সঠিক আদেশটি ডিস্ক ফাইল সংযুক্ত করছে:

ভিবক্সম্যানেজ স্টোরেজট্যাচ "গেস্টওসম্যাচিনিনাম" - স্টোরেজটেল "এসটিএ" --পোর্ট 1 - ডিভাইস 0 --অনোট্রোটেশনাল --ডিসকার্ডে --মেডিয়াম "সি: \ পাথ \ থেকে। ফাইল.ভিডি" - টাইপ এইচডিডি

যা মেশিনের * .vbox ফাইলে এই এন্ট্রি তৈরি করেছে:

<AttachedDevice nonrotational="true" discard="true" type="HardDisk" port="1" device="0">
    <Image uuid="{3836a042-a83e-4000-9a59-e95ad65162ce}"/>
</AttachedDevice>

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

  • অপশন ছাড়াই ডিস্ক ফাইল সংযুক্ত করা হয় --অনোট্রোটেশনাল এবং --ডিসকার্ড অতিথি ওএসে ফাইল মোছার পরেও তার (গতিশীল) আকার রাখে
  • উপরে উল্লিখিত উভয় বিকল্পের সাথে সংযুক্ত ডিস্ক ফাইলটি ডেটা মোছার পরে স্থানটি প্রকাশ করে

এখন এখানে আমার প্রশ্নগুলি:
- ঠিক - ডিস্কার্ড বিকল্পটি কী করে? এটি ভার্চুয়ালবক্স ম্যানুয়ালটিতে বর্ণনা করা হয়নি ( http://www.virtualbox.org/manual/ch08.html#vboxmanage-storesattach )
- এটি কি সত্যিই হোস্ট ওএসের কাছে ট্রিমকে অতিক্রম করছে বা এটি কি ঠিক দেখাচ্ছে?


3
ভার্চুয়াল ট্রিমটি ভার্চুয়াল মেশিনে ভার্চুয়াল ডিস্কগুডের জন্য ভার্চুয়াল ডিস্কের ইন্টারফেসে ব্যবহৃত হয় ...
ফায়াসকো ল্যাবগুলি

রামহাউন্ড: তাহলে স্টোরেজ সাবমেনুতে "সলিড-স্টেট ড্রাইভ" চেকবক্স বিকল্পটি কী? পাশেই, যদি ম্যানুয়ালটিতে উল্লিখিত --discard এর মতো বিকল্প থাকে তবে তার বিশদ বিবরণ দেওয়া উচিত। আমি আপনার বক্তব্যটি সম্পূর্ণরূপে পাই না যে "এটির কারণ বর্ণিত না হওয়ার কারণ রয়েছে"। যদি তা হয় তবে কেন এটি ম্যানুয়ালটিতে আদৌ আছে?
Krzysztof Szynter

11
@ রামহাউন্ডের উত্তর দিতে আমার ব্লগটি ওপি তালিকাভুক্ত পোস্টগুলির মধ্যে একটি। তার কারণ কী তা আমি নিশ্চিত নই , তবে আমার কাছে আমার কাছে একটি ভার্চুয়াল মেশিন ছিল যা গতিশীলরূপে বরাদ্দ হওয়া ডিস্কের ফাইলাইজিকে শারীরিকভাবে সঙ্কুচিত করা দরকার। এটি এমন একটি ডিস্ক ছিল যা মুছে ফেলা ডেটা ধারণ করে এবং আমি এটি আবার ছোট আকারে সঙ্কুচিত করার চেষ্টা করছিলাম - টিআরআইএম কমান্ডটি পাস করার ফলে এটি সক্ষম হয়েছিল ... আমার ভার্চুয়াল ডিস্কটি 12 জি থেকে 7 জিতে সঙ্কুচিত করা হবে। ওপিতে, আমি আশা করি আমার পোস্ট আপনাকে সহায়তা করেছে। আমি আমার ব্লগে আগত ট্র্যাফিক দেখে এখানে পৌঁছেছি।
জেসন রোয়ে

বিষয়টিতে আগ্রহী যে কারও জন্য কেবল একটি সতর্কতা। ভার্চুয়ালবক্স ডিস্ক ইমেজ এমুলেটরটিতে ছাঁটাই বাস্তবায়ন অত্যন্ত বগি এবং সম্ভবত আপনার ভিএম ক্রাশ হবে। এটির জন্য একটি 2 বছরের পুরানো বাগ খোলা আছে। এটি সক্ষম করা সম্ভব তবে চেষ্টা করে সময় নষ্ট করবেন না।
ডোমিনিক স্মোগর

আমি মনে করি এই বাগ ডমিনিক উল্লেখ হয়: virtualbox.org/ticket/16450
bobpaul

উত্তর:


19

--discardবিকল্পগুলি উল্লেখ করে যে vdiচিত্রটি trimঅতিথি ওএস থেকে প্রাপ্ত আদেশের প্রতিক্রিয়ায় সঙ্কুচিত হবে । নিম্নলিখিত প্রয়োজনীয়তা পূরণ করতে হবে:

  • ডিস্ক ফর্ম্যাটটি অবশ্যই ভিডিআই হতে হবে
  • সাফ করা অঞ্চলটি কমপক্ষে 1MB (আকার) হতে হবে
  • [সম্ভবত] সাফ হওয়া অঞ্চল অবশ্যই এক বা একাধিক 1 এমবি ব্লক (প্রান্তিককরণ) আবরণ করা উচিত

স্পষ্টতই অতিথি ওএসকে trimকমান্ড দেওয়ার জন্য কনফিগার করা আবশ্যক , সাধারণত হ'ল অতিথি ওএসকে ডিস্কটি এসএসডি মনে করে তৈরি করা হয়। Ext4 -o discardমাউন্ট পতাকা সমর্থন করে ; ওএসএক্সের সম্ভবত অতিরিক্ত সেটিংসের প্রয়োজন হয় কারণ ডিফল্টরূপে কেবল অ্যাপল সরবরাহিত এসএসডিই এই আদেশটি জারি করা হয় । উইন্ডোজকে কমপক্ষে and ও ৮ সংস্করণে এসএসডি'র স্বয়ংক্রিয়ভাবে সনাক্ত এবং সমর্থন করা উচিত, যদি ইনস্টল বা রান টাইমে সনাক্তকরণ ঘটে তবে আমি পরিষ্কার নই। লিনাক্স এক্সএফএটি ড্রাইভার (স্যামসাংয়ের সৌজন্যে) ফেলে দেওয়া কমান্ড সমর্থন করে । মাইক্রোসফ্ট এক্সএফএটি বাস্তবায়ন একই সমর্থন করে কিনা, এটি স্পষ্ট নয় যদিও ফাইল সিস্টেমটি শুরু হওয়ার জন্য ফ্ল্যাশটির জন্য ডিজাইন করা হয়েছিল।

বিকল্পভাবে ইস্যু করার জন্য অ্যাডহক পদ্ধতি রয়েছে trimযেমন লিনাক্স fstrimকমান্ড, util-linuxপ্যাকেজের অংশ ।

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


1
এছাড়াও, btrfs balanceবিটিআরএফএসে কিছু ধরণের ডি-ডুপ্লিকেশন জিনিস ব্যবহার করে (বিশেষত এমন একটি যা 0 টি অঞ্চলের জন্য ছিদ্র বের করে দেয়) এবং যতটা সম্ভব ছাঁটাইযোগ্য অঞ্চল তৈরিতে সত্যই সহায়তা করে।
সর্বস্বীকৃত

12

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

প্রথমে হোস্টটিকে অবশ্যই সেট আপ করতে হবে যাতে মুক্ত স্থানটি TRIM'ed হয়। আপনি হয় -o বাতিল করে ফাইল সিস্টেমটি মাউন্ট করতে পারেন, বা ক্রোনের মাধ্যমে নিয়মিত ফাইল সিস্টেমে fstrim চালাতে পারেন। আমি পরেরটি পছন্দ করি, কারণ প্রথম বিকল্পটি একসাথে অনেকগুলি ফাইল মুছে ফেলার সময় সিস্টেম লকআপ করতে পারে।

ব্যবহৃত ডিস্ক ফর্ম্যাটটি কারমা লেখার সাথে সাথে অবশ্যই ভিডিআই গতিশীল আকার হতে হবে।

অপারেটিং সিস্টেমের আওতায় বর্ণিত নোনোটেশনাল = "ট্রু" বাতিল = "সত্য" সেট করা আছে কিনা তা নিশ্চিত করুন।

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

এখন, যেহেতু ডিস্ক চিত্রটি নিয়মিত কমপ্যাক্ট করা হয়, এটি কেবল ব্যবহৃত প্রকৃত স্থান গ্রহণ করবে, পাশাপাশি কারমা লেখার সাথে সাথে 1MB ব্লক আকারের ওভারহেড গ্রহণ করবে। এর আবার অর্থ হ'ল যে মুক্ত স্থানটি হোস্ট এসএসডি তে ট্রিম হবে।


আসলে আমি ট্রিম কমান্ড ব্যবহার করে আমার কিছু ভিএমকে হত্যা করেছি।
ডেভিডবাউমান 21

@ ডেভিডবাউমান কীভাবে এটি ঘটে?
ডিভিটান

আসলে, এটি সক্ষম করার পরে, এটি প্রায় 20 গিগাবাইট ট্রিম করতে শুরু করে। ঠিক এই মুহুর্তে, ল্যাপটপ ক্র্যাশ হয়েছে (আজকাল আমার জিপিইউ নিয়ে কিছু সমস্যা হয়েছিল)। forums.virtualbox.org/viewtopic.php?f=2&t=75308
ডেভিডবাউম্যান

বিদ্যমান প্রথম ডিস্কে এটি করার আদেশ ( VBoxManage storageattach $VM --storagectl "SATA Controller" --port 0 --device 0 --nonrotational on --discard on
স্যাটাকে
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.