ইসি 2 এ / এমএনটি মাউন্ট / টিএমপি কিভাবে করবেন?


10

আমি ভাবছিলাম কোন ইসি 2 উদাহরণে /tmpইফেমেরাল স্টোরেজে শেষ পয়েন্টটি মাউন্ট করার /mntএবং ubuntuব্যবহারকারীর ডিফল্ট লেখার অনুমতি দেওয়ার সর্বোত্তম উপায় কোনটি ?

কেউ কেউ এইভাবে /etc/rc.local সম্পাদনার পরামর্শ দেয়:

mkdir -p /mnt/tmp && mount --bind -o nobootwait /mnt/tmp /tmp

তবে এটি আমার পক্ষে কাজ করে না (ফাইলগুলি পৃথক করে)।

আমি ডিফল্ট fstab এন্ট্রি সম্পাদনা করার চেষ্টা করেছি:

/dev/xvdb /mnt auto defaults,nobootwait,comment=cloudconfig 0 2

/ tmp এর সাথে / mnt প্রতিস্থাপন এবং এটিকে একটি umask = 0777 প্রদান, তবে ক্লাউডকনফিগের কারণে এটি কাজ করে না।

আমি উবুন্টু 12.04 ব্যবহার করছি। ধন্যবাদ।


আপনি আমাকে যা করতে বলছেন তা আমি বুঝতে পারি না। আপনি ব্যবহার প্রত্যাশিত আউটপুট একটি উদাহরণ প্রদান করতে পারেন touchএবং ls -l?
জেফ ফেরল্যান্ড

উদাহরণস্বরূপ: ফাইলগুলি তালিকাভুক্ত /mnt/tmpকরাতে একই ফাইলগুলি ফিরিয়ে ফেলা উচিত /tmp, যুক্ত করে যে ব্যবহারকারীর touch /tmp/testfileকাছ থেকে জারি করা একটি ubuntuব্যবহার না করেই কাজ করা উচিত sudo
ক্লোদিও পোলি

উত্তর:


13

আপনার তালিকার প্রাথমিক পরামর্শটি নিয়ে দু'পক্ষের সমস্যা রয়েছে, যদিও মনে হচ্ছে এটি ভাল দিকের দিকে যাচ্ছে:

  1. সুরক্ষা উদ্দেশ্যে, mkdirকমান্ডটি মোডে স্টিকি বিট সেট সহ ডিরেক্টরি তৈরি করতে হবে:

    mkdir -m 1777 /mnt/tmp
    
  2. -o nobootwaitপ্রয়োজনীয় বলে মনে হচ্ছে না এই সংরক্ষিত হচ্ছে না /mnt/fstab

সুতরাং, আমি এটি চেষ্টা করে দেখতে চাই /etc/rc.local:

test -d /mnt/tmp || mkdir -m 1777 /mnt/tmp
mount --bind /mnt/tmp /tmp

বাঁধন মাউন্টটি স্থাপনের যে কোনও প্রয়াস /etc/fstabসমস্যাগুলির মধ্যে চলে যাবে যখন আপনি যখন থামুন / শুরু করবেন বা যখন আপনি একটি এএমআই তৈরি করবেন এবং যখন একটি নতুন দৃষ্টিকোণ চালাবেন / এমএনটি হ'ল অল্পকালীন স্টোরেজ এবং সমস্ত বিষয়বস্তু ( /mnt/tmpডিরেক্টরি সহ ) অদৃশ্য হয়ে যাবে ।


আপনি কি এটি ব্যবহারকারী-ডেটা স্ক্রিপ্টগুলিতে রাখার পরামর্শ দিতে পারেন?
ক্লদিও পোলি

1
আমি প্রথমে ইফেমেরাল ডিভাইসটির মাউন্ট চেষ্টা করার জন্য rc.local কোডিংয়ের পদ্ধতিকে গ্রহণ করব (তিনি কি ইতিমধ্যে এটি / mnt এ মাউন্ট করেছিলেন?) এবং যদি এটি ব্যর্থ হয় তবে এটি ফর্ম্যাট করে আবার মাউন্ট করার চেষ্টা করব। এইভাবে একটি স্টপ এবং পুনঃসূচনাটি এটি সংরক্ষণ করা উচিত (সমাপ্তি যথারীতি সতেজ শুরু করার উপায় হবে)। Rc.local এটিকে মাউন্ট করার পরে এটি / etc / fstab এ রাখার একটি নির্দিষ্ট প্রয়োজন আমি দেখতে পাচ্ছি না, তবে rc.local সংযোজন করা সম্ভবত ক্ষতি করবে না।
স্কেপেরেন

1
@ ক্লডিওপোলি: এটি ব্যবহারকারী-ডেটাতে রাখার সমস্যাটি হ'ল ব্যবহারকারী-ডেটা স্ক্রিপ্টটি কেবল প্রথম বুটে চালিত হয় । আপনি প্রতিটি বুটে এটি চালাতে চান । আপনার ব্যবহারকারীর ডেটা এটি /etc/rc.local এ যুক্ত করতে পারে তবে নিশ্চিত করুন যে এটি কোনও ফাইলের "প্রস্থান" বিবৃতি দেওয়ার আগে beforeোকানো হয়েছে।
এরিক হ্যামন্ড

1
@ স্কেপেরেন: / এমএনটি সাধারণত পরিষ্কারভাবে ফর্ম্যাট করা হয় এবং প্রতিটি রান বা একটি ইভেন্টের শুরুতে মাউন্ট করা হয়। একটি স্টপ / স্টার্ট আপনাকে পূর্বের চলমান থেকে কোনও ডেটা ছাড়াই একটি পরিষ্কার, তাজা / ম্যান্ট দেয়। আপনি / etc / fstab এ যে কোনও পরিবর্তন করতে চেয়েছিলেন তা স্টপ / স্টার্টের মাধ্যমে সংরক্ষণ করা হবে, সুতরাং এটি প্রতিটি বুটে আরসি.লোকল সংশোধন করা বোধগম্য হবে না।
এরিক হ্যামন্ড

13

আরও শক্তিশালী পদ্ধতি, যেহেতু আপনি উবুন্টু চালাচ্ছেন, এরিক হ্যামন্ডের পরামর্শটি একটি আপস্টার্ট স্ক্রিপ্টের ভিতরে রাখা এবং বাঁধাইয়ের পরেই কাজটি সম্পন্ন করা হবে /mnt:

# File /etc/init/mounted-mnt.conf

# mounted-mnt - Binds /tmp to /mnt/tmp

description     "Binds /tmp to /mnt/tmp"

start on mounted MOUNTPOINT=/mnt

task

script
    test -d /mnt/tmp || mkdir -m 1777 /mnt/tmp
    mount --bind /mnt/tmp /tmp
end script

কিছু সার্ভার, যেমন অ্যাপাচি / যাত্রী, গুরুত্বপূর্ণ অস্থায়ী ফাইলগুলি তৈরি করতে পারে /tmp। একবার rc.local- বুট সিকোয়েন্সের সর্বশেষ - দৌড়েছিল তারা লুকিয়ে থাকবে এবং সার্ভারগুলিকে বিভ্রান্ত করবে।


আকর্ষণীয় ধারণা ..
টম ও'কনোর

1

রোমুলো সেকন প্রস্তাবিত একটি আপস্টার্ট স্ক্রিপ্ট ব্যবহার করার ধারণাটি দুর্দান্ত। তবে, আপনি অস্পষ্ট স্ক্রিপ্টের মধ্যে যাদুটি লুকিয়ে রাখতে চাইবেন না। Fstab এর ভিতরে মাউন্ট যুক্ত করা পুরোপুরি ঠিক eg

LABEL=cloudimg-rootfs   /    ext4   defaults    0 0

# auto mount ephemeral storage (if any)
# init contents in /etc/init/mounted-local*.conf
/dev/xvdb  /mnt/local1  auto  defaults,nofail,nobootwait,comment=cloudconfig  0 2
/dev/xvdc  /mnt/local2  auto  defaults,nofail,nobootwait,comment=cloudconfig  0 2
/dev/xvdd  /mnt/local3  auto  defaults,nofail,nobootwait,comment=cloudconfig  0 2
/dev/xvde  /mnt/local4  auto  defaults,nofail,nobootwait,comment=cloudconfig  0 2

# bind /tmp to /mnt/local1, might still be on / if no ephemeral storage
/mnt/local1  /tmp  none  bind

এবং এটি আপস্টার্ট স্ক্রিপ্ট:

# File /etc/init/mounted-local1.conf

# mounted-local1 - init ephemeral storage in /mnt/local1

description     "Initializes ephemeral storage in /mnt/local1"

start on mounted MOUNTPOINT=/mnt/local1

# provide defult, see /etc/init/mounted-tmp.conf for details
env MOUNTPOINT=/mnt/local1

task

script
    # fix permissions if needed
    test -d $MOUNTPOINT && chmod 1777 $MOUNTPOINT

    # log to /var/log/upstart/mounted-local1.log
    #echo "initialized $MOUNTPOINT"

end script

এইভাবে, আপনি কোনও ডিরেক্টরি কাঠামো তৈরি করতে পারেন এবং কী কী সাময়িক স্টোরেজে নেই।

যা আছে তা সবই mkdir -p /mnt/local{1..4}আবার পুনঃসূচনা (আপনি সেখানে বর্তমান ফাইলগুলি লুকাতে না পারলে আমি মাউন্ট / টিএমপি লাগাব না)।


যদি কিছু না থাকে তবে fstab এর মাধ্যমে মাউন্ট সফল হবে /mnt/local1? সম্ভবত মাউন্টিং ইভেন্টটি নিরাপদ।
রামুলো সেকন

হ্যাঁ, আমি ধরে নিয়েছি / mnt / স্থানীয় 1 উপলব্ধ। আমার ব্যাখ্যা করা উচিত ছিল, কিছুই / এমএনটি মাউন্ট হয় না যা সাধারণত ক্ষেত্রে হয়। সুতরাং এই ডিরেক্টরিটি তৈরি করা সেটআপের অংশ part আমি মাউন্টিং ইভেন্টটি ব্যবহার করার চেষ্টা করিনি, তবে সম্ভবত আপনি ঠিক বলেছেন। আমার উত্তর প্রধান পয়েন্ট যে এটা ভাল হতে পারে fstab ফাইলের মধ্যে মাউন্ট রাখা এবং ভালো জিনিস করতে হয় chmod 1777বা mkir -p ভুঁইফোড় স্ক্রিপ্ট হবে।
sfussnegger
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.