আমি কীভাবে এমন কোনও অপটিকাল ড্রাইভ ভাগ করতে পারি যা ক্লায়েন্টকে স্থানীয় ড্রাইভের ভেবে বোকা বানাবে?


10

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

উভয় মেশিনই উবুন্টু এবং ডেস্কটপ থেকে মিডিয়া অ্যাক্সেস করার জন্য তাদের ইতিমধ্যে এনএফএস ভাগ করে নেওয়া হয়েছে।

আমি যে কারণে জিজ্ঞাসা করছি (কেবলমাত্র মিডিয়া / সিডিআরএম রফতানির চেয়ে নয়) এটি যে কোনও মাউন্ট করা এনএফএস শেয়ারটি রিমোট মেশিনে সিডিরোম-স্টাইলের ডিভাইসের মতো লাগে না । এটি আমার কাছে তাৎপর্যপূর্ণ কারণ ডিস্কগুলি স্বয়ংক্রিয়ভাবে এবং যথাযথভাবে পরিচালনা করার জন্য আমার ড্রাইভটি সনাক্ত করার জন্য এক্সবিএমসি প্রয়োজন।

এখন আমি জানি না কি একটি অপটিক্যাল ড্রাইভ করে তোলে না বর্ণন উবুন্টু একটি অপটিক্যাল ড্রাইভ মত। যদি আমি এটি জানতাম তবে আমার কী করা দরকার তা আমি সম্ভবত জানতাম। আমি অনুমান করছি udevযে কোনও সময়ে সেখানে কিছু গরম কর্ম আছে।

কোনও ব্লক-স্তরের ডিভাইস ভাগ করার কোনও উপায় আছে (উদাহরণস্বরূপ /dev/sr0) যাতে উভয় কম্পিউটারকে পৃথকভাবে এটি মাউন্ট করার সুযোগ দেয় ... আমার মনে হয় আমি খরগোশের ছিদ্রটি গুছিয়ে নিচ্ছি এবং আমি এই সমস্ত বড় আকারের ইঞ্জিনযুক্ত সমাধান আইএসসিএসআইয়ের মতো দেখতে পাচ্ছি can এবং পাসথ্রু ভার্চুয়ালাইজেশন আমার সামনে পপ আপ ... অবশ্যই দুটি উবুন্টু কম্পিউটারের মধ্যে কয়েকটি ড্রাইভের মোড ভাগ করে নেওয়ার সহজ উপায় আছে!


এটি পর্যাপ্ত কিনা তা আমি জানি না: thegeekstuff.com/2009/02/… --- ioctlএটি ডিভিডিটির জন্য প্রয়োজনীয় বিশেষ প্রয়োজনীয় রফতানি করে কিনা তা আমি জানি না । আমি নেট থেকে অদলবদল করার জন্য একটি খারাপ চিন্তা-ভাবনা ধারণার জন্য এটি বহু বছর আগে ব্যবহার করেছি, এবং তারপরে এখনও অবধি ভুলে গিয়েছি ... (আরও ভাল লিঙ্ক: লিনাক্স-ম্যাগ / আইডি / 11১১৮ )
রোমানো

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

@ এসএমএল হ্যাঁ ইতিমধ্যে দুটি কম্পিউটারের মধ্যে এনএফএস রয়েছে। আমি সিডিটি /media/cdromএনএফএসে যুক্ত করেছি এবং এটি অন্য প্রান্তে মাউন্ট করেছি /media/cdrom(এবং আমি ফাইলগুলি দেখতে পাচ্ছি) তবে এক্সবিএমসি মিডিয়াটির কোনও পরিবর্তন সনাক্ত করছে না (এটি মাউন্টপয়েন্টটি একটি ডিভিডি বলে মনে করে না )। আমি কি বোকা কিছু করছি?
অলি

@ অলি - ঠিক আছে, আমার এ দেখুন এবং আপনি যা খুঁজছেন তা যদি আমাকে জানায়। ঘটনাক্রমে অন্য যে পদ্ধতিটি আমি ব্যবহার করেছি তা হ'ল ডিভিডি-র একটি আইএসও তৈরি করা, এনএফএসের মাধ্যমে ভাগ করে নেওয়া এবং তারপরে mount -o loopস্থানীয়ভাবে অন্যান্য কম্পিউটারে।
slm

উত্তর:


9

আমি মনে করি আপনি নেটওয়ার্ক ব্লক ডিভাইস (এনবিডি) ব্যবহার করে যা করতে চান তা অর্জন করতে সক্ষম হতে পারেন। বিষয়টির উইকিপিডিয়া পৃষ্ঠাটি দেখলে সেখানে একটি সরঞ্জামের উল্লেখ রয়েছে nbd। এটি একটি ক্লায়েন্ট এবং সার্ভার উপাদান সমন্বিত।

উদাহরণ

এই দৃশ্যে আমি আমার ফেডোরা 19 ল্যাপটপ (সার্ভার) এ একটি সিডিরোম স্থাপন করছি এবং আমি এটি একটি উবুন্টু 12.10 সিস্টেমের (ক্লায়েন্ট) সাথে ভাগ করে নিচ্ছি।

ইনস্টল করার
$ apt-cache search ^nbd-
nbd-client - Network Block Device protocol - client
nbd-server - Network Block Device protocol - server

$ sudo apt-get install nbd-server nbd-client
একটি সিডি ভাগ করে নেওয়া

এখন সার্ভারে ফিরে আসুন (ফেডোড্রা 19) আমি এর প্যাকেজ ম্যানেজার YUM ব্যবহার করে অনুরূপ একটি কাজ করি। একবার সম্পূর্ণ হয়ে গেলে আমি একটি সিডি পপ করি এবং একটি ব্লক ডিভাইস হিসাবে ভাগ করে নেওয়ার জন্য এই আদেশটি চালিত করি:

$ sudo nbd-server 2000 /dev/sr0

** (process:29516): WARNING **: Specifying an export on the command line is deprecated.

** (process:29516): WARNING **: Please use a configuration file instead.
$

এটি চলছে কিনা তা দেখার জন্য একটি দ্রুত চেক:

$ ps -eaf | grep nbd
root     29517     1  0 12:02 ?        00:00:00 nbd-server 2000 /dev/sr0
root     29519 29071  0 12:02 pts/6    00:00:00 grep --color=auto nbd
সিডি মাউন্ট হচ্ছে

এখন আবার উবুন্টু ক্লায়েন্টে আমাদের এর মতো nbd-serverব্যবহারের সাথে সংযোগ স্থাপন করতে হবে nbd-client:

$ sudo nbd-client greeneggs 2000 /dev/nbd0
Negotiation: ..size = 643MB
bs=1024, sz=674983936 bytes

আমরা নিশ্চিত করতে পারি যে উবুন্টু সিস্টেমে এখন একটি ব্লক ডিভাইস ব্যবহার করে রয়েছে lsblk:

$ sudo lsblk -l
NAME                 MAJ:MIN RM   SIZE RO TYPE MOUNTPOINT
sda                    8:0    0 465.8G  0 disk 
sda1                   8:1    0   243M  0 part /boot
sda2                   8:2    0     1K  0 part 
sda5                   8:5    0 465.5G  0 part 
ubuntu-root (dm-0)   252:0    0 461.7G  0 lvm  /
ubuntu-swap_1 (dm-1) 252:1    0   3.8G  0 lvm  [SWAP]
sr0                   11:0    1 654.8M  0 rom  
nbd0                  43:0    0   643M  1 disk 
nbd0p1                43:1    0   643M  1 part 

এবং এখন আমরা এটি মাউন্ট:

$ sudo mount /dev/nbd0p1 /mnt/
mount: block device /dev/nbd0p1 is write-protected, mounting read-only
$
এটা কি কাজ করেছিল?

সাসপেন্স আমাকে মেরে ফেলছে, এবং আমাদের কাছে লিফটওফ রয়েছে:

$ sudo ls /mnt/
EFI  GPL  isolinux  LiveOS

সেন্টোসের একটি লাইভসিডিডির সামগ্রী রয়েছে যা আমি ফেডোরা 19 ল্যাপটপে রেখেছি এবং এটি উবুন্টুতে নেটওয়ার্কের একটি ব্লক ডিভাইস হিসাবে মাউন্ট করতে সক্ষম হয়েছি।

স্ব-প্লেয়িং এবং অটোমোটিং?

উপরের সেটআপে আমাকে ডিভিডি নিজেই মাউন্ট করতে হয়েছিল।

কিনা এই পদ্ধতির autoplaying এবং, automounting বাক্সের বাইরে নিয়ে কাজ করবে সম্ভরপরতা তদন্ত ইন, উবুন্টু এর অটোপ্লে কাজ করে না কিন্তু nbd-clientএবং nbd-serverআপ থাকুন যখন আমি ডিস্ক প্রক্ষিপ্ত। আমি যখন ডিভিডিটি পিছনে mountফেলেছিলাম তখন আমি উবুন্টুতে কমান্ডটি চালাতে সক্ষম হয়েছি , যা ডিভিডিটি ঠিকঠাকভাবে পুনঃস্থাপন করেছে।

সুতরাং আমি ধরে নেব যে আপনি এই পরিবর্তনটি সনাক্ত করতে এবং স্বয়ংক্রিয়ভাবে স্বয়ংক্রিয়রূপে / স্বয়ংক্রিয় প্লে করতে উবুন্টুতে একটি ইউডিইভি বিধি আটকে রাখতে পারেন। আমি এটি চেষ্টা করে দেখতে যাচ্ছি না তবে এমন কিছু দেখছি না যা আমাকে ভাবতে পরিচালিত করবে যে এটি কার্যকর হবে না।


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

3

এই পদ্ধতিটি এনবিডি ব্যবহার করে তবে পরিবর্তে নতুন স্টাইলের কনফিগারেশন ব্যবহার করে। একমাত্র সুবিধা হ'ল আপনাকে ম্যানুয়ালি সার্ভার শুরু করতে হবে না এবং আপনি কুৎসিত অবমূল্যায়নের সতর্কতা পান না।

ইনস্টল করার পরে nbd-serverএবং nbd-clientপ্যাকেজগুলি সার্ভারে কনফিগারেশন ফাইলটি সম্পাদনা করার জন্য এগিয়ে যায় ( /etc/nbd-server/config) এবং এটি দেখতে এরকম কিছু দেখায় তা নিশ্চিত করুন:

[generic]
# If you want to run everything as root rather than the nbd user, you
# may either say "root" in the two following lines, or remove them
# altogether. Do not remove the [generic] section, however.
    user = nbd
    group = cdrom
    includedir = /etc/nbd-server/conf.d
    allowlist = true

# What follows are export definitions. You may create as much of them as
# you want, but the section header has to be unique.

[dvd]
    exportname = /dev/sr0
    readonly = true

দ্রষ্টব্য:[dvd] ট্যাগ উপরে একটি অধ্যায় হেডার এবং এটি কোনো শব্দ আপনি বর্গাকার বন্ধনী মধ্যে ঘিরা চান হতে পারে। এটি নির্দিষ্ট ভাগটি সনাক্ত করতে ব্যবহার করা হয়েছে যাতে আপনি এমন কোনও নাম ব্যবহার করেন যা ব্যবহার করা সহজ এবং স্পষ্ট।

কনফিগারেশন ফাইলে পরিবর্তনগুলি সংরক্ষণ করার পরে, হয় শুরু করুন বা পুনরায় চালু করুন এনবিডি-সার্ভার (পুনরায় আরম্ভের উদাহরণ):

sudo service nbd-server restart

তারপরে, ক্লায়েন্ট মেশিনে ফিরে কমান্ডটি ব্যবহার করে সার্ভারের সাথে সংযুক্ত করুন:

sudo nbd-client -N dvd hostname /dev/nbd0

দ্রষ্টব্য:dvd আপনি উপরের সার্ভার কনফিগারেশনে ব্যবহৃত hostnameনামটি এবং সার্ভার মেশিনের হোস্ট নামের সাথে প্রতিস্থাপন করুন ।

শেষ অবধি এটি নতুন ভাগ করা ব্লক ডিভাইস মাউন্ট করার বিষয়:

sudo mount /dev/nbd0 /mnt/

যদি আপনি পেতে থাকেন Negotiation: ..Error: Server closed connection Exiting.তবে উভয়ই মন্তব্য করুন userএবং groupলাইনগুলি /etc/nbd-server/config। এটি nbd-serverআপনার /dev/sr0
মুলুকের
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.