উত্তর:
লিনাক্স সিস্টেমে এটি পুরোপুরি স্বাভাবিক। র্যাম ডিস্কগুলির প্রয়োজন হওয়া উচিত এটির জন্য এটি একটি প্রস্তুতিমূলক পদক্ষেপ। তাদের প্রত্যেকের একটি আকার খুব কম 64 মান রয়েছে Mi প্রয়োজনে আকারটি স্বয়ংক্রিয়ভাবে বৃদ্ধি করা হবে।
হঠাৎ কেন উইলিতে 16 টি র্যাম ডিস্ক পাওয়া যায়, কেবলমাত্র অসুবিধা দিয়ে ব্যাখ্যা করা যেতে পারে।
আমি এখানে ডিফল্ট র্যাম ডিস্ক পরীক্ষা করেছি:
র্যাম ডিস্ক ড্রাইভার একটি প্রধান ডিভাইস হিসাবে ব্লক ডিভাইস হিসাবে ব্যবহার করার একটি উপায়। রুট ফাইল সিস্টেম অ্যাক্সেস করার জন্য আপনাকে মডিউলগুলি লোড করতে হবে তবে initrd এর জন্য এটি একটি প্রাথমিক ফাইল সিস্টেম ব্যবহার করা প্রয়োজন (ডকুমেন্টেশন / initrd.txt দেখুন)। এটি ক্রিপ্টো কাজের জন্য একটি অস্থায়ী ফাইল সিস্টেমের জন্যও ব্যবহার করা যেতে পারে, যেহেতু সামগ্রীগুলি পুনরায় বুটে মুছে ফেলা হয়।
র্যাম ডিস্ক গতিশীলভাবে বাড়তে থাকে কারণ আরও স্থানের প্রয়োজন হয়। এটি বাফার ক্যাশে থেকে র্যাম ব্যবহার করে এটি করে। ড্রাইভারটি এটি ব্যবহার করছে এমন বাফারগুলিকে চিহ্নিত করে যাতে এটি নোংরা হয় যাতে ভিএম সাবসিস্টেম এগুলি পরে দাবি করার চেষ্টা না করে।
র্যাম ডিস্কটি ডিফল্টরূপে 16 টি র্যাম ডিস্ক সমর্থন করে এবং সীমাহীন র্যাম ডিস্ককে সমর্থন করার জন্য পুনরায় কনফিগার করা যেতে পারে (নিজের ঝুঁকিতে)। ব্লক ড্রাইভার কনফিগারেশন মেনুতে কেবল কনফিগারেশন প্রতীক BLK_DEV_RAM_COUNT পরিবর্তন করুন এবং (পুনরায়) কার্নেলটি তৈরি করুন।
কেন fdisk হঠাৎ / dev / ram রিপোর্ট করছে তা ধারণা নেই।
তবে আপনি fdisk কে কেবল নির্দিষ্ট ডিভাইসগুলির প্রতিবেদন করতে বলতে পারেন।
fdisk -l /dev/sd*
আসল ড্রাইভ তালিকাভুক্ত করা হবে।
বিকল্পভাবে আপনি বিভক্ত এবং lsblk ব্যবহার করতে পারেন।
এখানে একটি ড্রাইভের জন্য ভাগ করা আউটপুট।
Model: ATA Samsung SSD 840 (scsi)
Disk /dev/sda: 120GB
Sector size (logical/physical): 512B/512B
Partition Table: msdos
Disk Flags:
Number Start End Size Type File system Flags
1 2096kB 120GB 120GB extended boot
7 2097kB 26.2GB 26.2GB logical ext4
5 26.2GB 36.7GB 10.5GB logical ext4
6 36.7GB 47.2GB 10.5GB logical ext4
সংশ্লিষ্ট lsblk আউটপুট
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 111.8G 0 disk
├─sda1 8:1 0 1K 0 part
├─sda5 8:5 0 9.8G 0 part /mnt/Links
├─sda6 8:6 0 9.8G 0 part
└─sda7 8:7 0 24.4G 0 part /
আমি জানি যে এই থ্রেডটি পুরানো, তবে আমি সম্প্রতি এটি পেরিয়ে এসেছি। স্ল্যাকওয়্যার ইনস্টল করার পরে 14.2 এর আউটপুটে আমি একই 16 টি র্যাম ডিস্ক পেয়েছি
fdisk -l
। আমি আরও কিছুক্ষন তদন্ত করে দেখতে পেলাম যে 'ইউজার-লিনাক্স' প্যাকেজে, যা fdisk (অন্যদের মধ্যে) অংশ, fdisk যা ব্লক ডিভাইস হিসাবে বিবেচনা করে সেটির বিক্রয় যথেষ্ট পরিবর্তন হয়েছে। ইউট-লিনাক্স প্যাকেজ সংস্করণ ২.২১ এ এই রিপোর্টটি রিপোর্ট করা ডিস্ক জ্যামিতির উপর ভিত্তি করে রয়েছে এবং বর্তমান সংস্করণে ২.72২ / proc / পার্টিশনের আউটপুট পার্স করা হয়েছে। ইন্টারনেটে আমার অনুসন্ধান অনুসারে কার্নেল ২.৪-এর পর থেকে র্যামডিস্কগুলি লিনাক্সে রয়েছে, fdisk কেবল সেগুলি প্রদর্শন করে নি। যেহেতু আমি অনেকগুলি "ডিস্ক" এর তালিকা থেকে বিরক্ত হয়েছি, যা কোনও আসল ডিস্ক নয়, তাই fdisk এর জন্য আমি একটি প্যাচ তৈরি করেছি:
diff -Nur util-linux-2.27.1_ori/disk-utils/fdisk-list.c util-linux-2.27.1_fdisk-no-ram-disks/disk-utils/fdisk-list.c
--- util-linux-2.27.1_ori/disk-utils/fdisk-list.c 2015-10-06 08:59:51.572589724 +0200
+++ util-linux-2.27.1_fdisk-no-ram-disks/disk-utils/fdisk-list.c 2016-08-16 15:55:14.840952091 +0200
@@ -312,6 +312,10 @@
if (devno <= 0)
continue;
+ /* dont list RAM disks */
+ if (strstr(line, "ram") && devno >= 256)
+ continue;
+
if (sysfs_devno_is_lvm_private(devno) ||
sysfs_devno_is_wholedisk(devno) <= 0)
continue;
হতে পারে এটি অন্য কিছুকে সহায়তা করে ...
জোহানিসের পোস্টটি সঠিক। র্যাম-ডিস্কগুলি দীর্ঘ দিন ধরে কার্নেলে ছিল, এটি fdisk এর আচরণটি পরিবর্তিত হয়েছিল। Fdisk প্যাচিংয়ের পরিবর্তে, সমস্যাটি পরিচালনা করার জন্য আমি একটি সহজ পার্ল স্ক্রিপ্ট (কোডের 5 টি লাইন, 6 মন্তব্য লাইন) লিখেছি। আমি এটি put ~/bin/fdisk-l
ুকিয়ে দিয়েছি এবং এখন আমার মনে আছে যে এবং এর মধ্যে কোনও স্থান স্থাপন করা উচিত নয় ।fdisk
-l
#! /usr/bin/perl -w
# Run fdisk -l and filter out the 16 /dev/ram devices.
# Sun Mar 5 16:13:45 2017. Jeff Norden, jeff(at)math.tntech.edu
$_=`sudo fdisk -l`; #include sudo we don't have to be root
# weed out ram disks. The seemingly contradictory s (single) and m (multiline)
# flags allow "." to match "\n" and "^" to match at all beginning-of-lines.
s|^Disk /dev/ram.*?\n\n\n||smg;
# Do better than blank lines separating devices. Handle odd cases when there
# are more than two blank lines between devices or none at the end.
$hrule= '='x60 . "\n";
s/(\n\n\n+)|(\n+$)/\n$hrule/g;
print($hrule, $_);
এপ্রিল 2017 পর্যন্ত, রাম ডিস্কগুলি বর্তমান উবুন্টু কার্নেলের সাথে ডিফল্টরূপে আর উপস্থিত হবে না, সুতরাং এই সমস্যাটি সমাধান হয়েছে। দেখুন: https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1593293
এই আচরণটি কার্নেল বিকল্প দ্বারা নিয়ন্ত্রিত হয় যা আপনি কেবলমাত্র একটি কাস্টম কার্নেল পুনরায় সংশোধন করে পরিবর্তন করতে পারবেন। আপনি GRUB পরামিতি ramdisk_size ব্যবহার করে র্যাম * ডিভাইসগুলির আকার পরিবর্তন করতে পারেন তবে গণনাটি নয়। এটি অকেজো, কারণ আপনার মেমরি প্রচুর পরিমাণে থাকলেও প্রতিটি রামডিস্ক আপনার আকার নির্ধারণের আকারে বাড়বে। সুতরাং উদাহরণস্বরূপ আপনি যদি একটি 8 গিগাবাইট র্যামডিস্ক চান - যা আমি করি, নীচে দেখুন - আপনি 16x 8GB উদাহরণ পাবেন। আপনি যদি তাদের বেশিরভাগটি ব্যবহার না করেন তবে এটি নির্দোষ কিনা তা আমি জানি না, তবে আমি যদি আমার সিস্টেমটি এটি না করে তবে ইট তুলতে নারাজ।
আমি এটিতে একটি হট ডিস্ক অঞ্চল স্থাপনের নির্দিষ্ট উদ্দেশ্যে একটি 8 গিগাবাইট হার্ড ডিস্ক পার্টিশন দিয়ে আয়না করতে একটি 8 জিবি / ডেভ / র্যাম ডিভাইসটি ব্যবহার করতে চাই। আমার অ্যাপ্লিকেশনটি ফাঁকা জায়গার উপর ভিত্তি করে নিয়মিত স্টোরেজে ব্লকগুলি স্বয়ংক্রিয়ভাবে লিখে ফেলবে, সুতরাং এটি যে ছোট তা বিবেচ্য নয়।
এমডিএডএম-র অধীনে লেখার পিছনে, লেখাগুলি ফেটে গেলে দ্রুত জ্বলজ্বলে করে লেখার তাৎপর্য হওয়া উচিত, যখন কমপক্ষে কিছু তথ্য সুরক্ষা দেওয়ার জন্য জিনিসগুলি শান্ত থাকে তখন আয়নাটির এইচডিডি পাশে থাকে। আমি সোলারিসের সাথে এই সেটআপটি ব্যবহার করেছি, তবে বক্স থেকে বেরিয়ে আসার সাথে সাথে এটি লিনাক্সের সাথে সম্ভব হবে বলে মনে হয় না।
যেহেতু র্যাম হ'ল এসএসডি এর চেয়ে দ্রুতগতির অর্ডার, এটি একটি জয় হওয়া উচিত, তবে আমি এটি চেষ্টা করতে পারি না। যেমন অন্যরা লক্ষ্য করেছে, আপনি যদি tmpfs দিয়ে একটি RAID1 তৈরি করেন তবে এটি বুটে পুনরায় মিলবে না কারণ tmpfs প্রারম্ভিক ধাপটি বুট প্রক্রিয়াতে অনেক দেরি করে - মাউন্টল এ। আপনার এমডিস ততক্ষণে ভাল এবং সত্যই নির্মিত হয়েছে, তাই এটি ব্যর্থ হয় এবং আপনাকে এটি ম্যানুয়ালি পুনর্নির্মাণ করতে হবে।
OTOH / dev / ram * ডিভাইসগুলি এর জন্য উপযুক্ত - যদি আপনি সেগুলি কনফিগার করতে পারেন। এগুলি হ'ল প্রথম জিনিস যা সেট আপ হয় এবং ram0 হল প্রাথমিক / ফাইল সিস্টেম yste