আমি কীভাবে কোনও চলমান সিস্টেম থেকে নিরাপদে কোনও SATA ডিস্ক সরিয়ে ফেলতে পারি?


64

আমার মাঝে মাঝে একটি ডিস্ক উপসাগরে একটি ডিস্ক প্লাগ করা দরকার। অন্য সময়ে, ডেস্কটপ থেকে শক্তি টানার সময় আমার ল্যাপটপে একটি এসএসডি সংযোগের খুব অদ্ভুত সেটআপ রয়েছে।

আমি কীভাবে সিস্টেম থেকে নিরাপদে SATA ডিস্কটি সরিয়ে ফেলতে পারি? এই ফোরোনিক্স ফোরামের থ্রেডে কিছু পরামর্শ রয়েছে:

জাস্টসামডুড লিখেছেন:

একটি (অভিনব) ড্রয়েড লিখেছেন: আনপ্লাগিংয়ের
আগে আপনি সফ্টওয়্যার সাইডে কী করবেন? এটি কি একটি সাধারণ "অমাউন্ট / দেব / এসডি" [ড্রাইভ লেটার]? ডিভাইসটিকে আনমাউন্ট করার পরে, ইউনিটটি "পাওয়ার অফ" (বা স্লিপ) করতে:

hdparm -Y /dev/sdX

(যেখানে এক্স সেই ডিভাইসটির প্রতিনিধিত্ব করে যেখানে আপনি বিদ্যুৎ বন্ধ করতে চান for

ভোল্টেজের বৃদ্ধির ঝুঁকি w / o অপসারণের ফলে এটি ড্রাইভকে শক্তিশালী করবে।

এর অর্থ কি এই যে ডিস্ক ক্যাশেগুলি সঠিকভাবে ফ্লাশ করা হয় এবং এরপরে চালিত হয়?

একই থ্রেড থেকে অন্য একটি পরামর্শ:

চিতানহ লিখেছেন:
সমস্ত Sata এবং eSATA হার্ডওয়্যার শারীরিকভাবে হটপ্লাগ করতে সক্ষম (যেমন আপনি প্লাগটি / োকান / টানলে ক্ষতিগ্রস্থ হবে না)।

চিপসেট এবং ড্রাইভার কীভাবে এটি পরিচালনা করে তা অন্য একটি প্রশ্ন। কিছু ড্রাইভার / চিপসেট সংমিশ্রণগুলি হটপ্লাগিং সঠিকভাবে পরিচালনা করে না এবং নীচের মতো ওয়ার্মপ্লাগ কমান্ডের প্রয়োজন হয়:

echo 0 - 0 > /sys/class/scsi_host/hostX/scan

আপনার এসটিএ / ইএসটা পোর্টের জন্য উপযুক্ত নম্বর দিয়ে এক্স প্রতিস্থাপন করুন।

এটি করার সঠিক উপায় কিনা তা নিয়ে আমার সন্দেহ, তবে আমি এর বিরুদ্ধে কোনও প্রমাণও পাই না।

সুতরাং, একটি সিস্টেম থেকে একটি সংযুক্ত ডিস্ক অপসারণ করার সঠিক উপায় কি? ধরে নিন যে আমি ইতিমধ্যে প্রতিটি পার্টিশনটি ডিস্কে আনমাউন্ট করেছি এবং দৌড়েছি sync। দয়া করে কিছু অফিসিয়াল ডকুমেন্টেশনগুলিতে ইঙ্গিত করুন যদি সম্ভব হয় তবে আমি লিনাক্স ডকুমেন্টেশন ট্রিতে, না লিনাক্স এটিএ উইকিতে কিছুই খুঁজে পেলাম না ।

উত্তর:


82
  1. ডিস্কে কোনও ফাইল সিস্টেম আনমাউন্ট করুন। ( umount ...)
  2. যে কোনও এলভিএম গ্রুপ নিষ্ক্রিয় করুন। ( vgchange -an)
  3. নিশ্চিত করুন যে কোনও কিছুর জন্য ডিস্ক ব্যবহার করা হচ্ছে না।
  4. এটি একবার হয়ে গেলে, এটি প্লাগ করা নিরাপদ হওয়া উচিত।

আপনি যদি অতিরিক্ত সতর্ক হতে চান তবে echo 1 > /sys/block/(whatever)/device/deleteপ্রথমে করুন। এটি কার্নেল থেকে ডিভাইসটিকে নিবন্ধভুক্ত করবে, সুতরাং যখন আপনি আনপ্লাগ লাগবেন তখন আপনি কী ব্যবহার করছেন তা জানেন । যখন আমি এটি কোনও এসটা এনক্লোজারে একটি ড্রাইভ দিয়ে করি, তখন আমি ড্রাইভের মাথাগুলি নিজেরাই পার্ক করতে শুনতে পেলাম, তাই কার্নেল স্পষ্টতই ড্রাইভটিকে পাওয়ার-ডাউনের জন্য প্রস্তুত থাকতে বলে।

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

আমার অভিজ্ঞতায়, SATA হটপ্লাগিং (এএইচসিআই সহ) লিনাক্সে বেশ ভাল কাজ করে। আমি একটি অপটিকাল ড্রাইভ আনপ্লাগড করেছি, একটি হার্ড ড্রাইভে প্লাগ করেছি, ত্রুটিগুলির জন্য এটি স্ক্যান করেছি, একটি ফাইল সিস্টেম তৈরি করেছি এবং এতে ডেটা অনুলিপি করেছি, আনমাউন্ট এবং আনপ্লাগড করেছি, ভিন্ন ডিভিডি ড্রাইভে প্লাগ করেছি এবং একটি ডিস্ক জ্বালিয়ে দিয়েছি, সমস্তই মেশিনের সাহায্যে আপ করেছি এবং চলমান।


আমার এইচডিডি আনপ্লাগ করার দরকার ছিল যা আমি সম্পূর্ণরূপে মুছতে চাইছিলাম। উপসাগর থেকে ডিস্কটি টেনে আনার পরে / dev / sdXY এখনও প্রদর্শিত হবে। এটি অদৃশ্য হয়ে 1যাওয়ার deleteজন্য লেখা এবং আমি ডিস্কটি নীচে কাটতে শুনতে পেলাম। কেবলমাত্র hdparm -Yযথেষ্ট ছিল না কারণ /dev/এন্ট্রিগুলি এখনও বিদ্যমান ছিল। ধন্যবাদ!
লেকেনস্টেইন

16
আমি সর্বদাecho 1 > /sys/block/(whatever)/device/delete কমান্ড জারি করার জন্য দৃ strongly়ভাবে পরামর্শ দিচ্ছি কারণ ড্রাইভটি মাথাটি পার্ক করবে, ডিস্কটি পুরোপুরি বন্ধ করবে এবং বাসে শক্তি অক্ষম করবে। যদি পার্কবিহীন মাথা কোনও স্পিনিং প্লেট স্পর্শ করে তবে ড্রাইভ স্থায়ীভাবে ধ্বংস হতে পারে।
ড্রামফায়ার

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

1
উল্লেখ করার মতো একটি নোট , এর echo 1 > /sys/block/(whatever)/device/deleteঅধীনে কাজ করবে না sudo, "অনুমতি অস্বীকার" ত্রুটি নিক্ষেপ করা হবে। আপনাকে একটি আসল মূল হতে হবে, suতার পরিবর্তে সরল পুরাতন ব্যবহার করুন।
ট্রান্সলুসেন্টক্লাউড

11
@ ট্রান্সলুসেন্টক্লৌড আপনি sudo teeমূল হিসাবে পুনর্নির্দেশের অনুকরণ করতে এটি পাইপ করতে পারেন :echo 1 | sudo tee /sys/block/(whatever)/device/delete
অলি

5

এই দুটি বিভাগ বিভিন্ন জিনিস জন্য।

প্রথমটি আনপ্লাগিংয়ের জন্য । দ্বিতীয়টি প্লাগিংয়ের জন্য ।

আনপ্লাগিংয়ের জন্য, ওএস আনমাউন্ট অপারেশনের সময় ডেটা সিঙ্ক করবে sy সুতরাং, যদি ডিস্কটি আনমাউন্ট করা হয় (ধরে নিলে আপনাকে বাস্তবে সম্পূর্ণ হার্ডওয়্যার সমর্থন রয়েছে) আপনি ডিস্কটি বিদ্যুৎ থেকে সরিয়ে ফেলতে পারেন তবে ডেটা ক্ষতি বা দুর্নীতির ঝুঁকি ছাড়াই এটিকে প্লাগ প্লাগ করুন।

প্লাগিংয়ের জন্য, ডিভাইসটি স্বয়ংক্রিয়ভাবে স্বীকৃত হওয়া উচিত। যদি তা না হয় তবে আপনি একটি বাস স্ক্যান চালিত করতে সেই আদেশটি কার্যকর করতে পারেন। ডিভাইসটি স্বীকৃত হয়ে গেলে আপনি এটি মাউন্ট করতে পারেন।

এবং আমাকে কেবল এই বলে ইউএসবি ড্রাইভ দিয়ে এই ধরণের কাজটি করে বলি let


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

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

1
@ লেকেনস্টেইন, ofশ্বর এটি hdparm -Yযত্ন নেবেন। আপনি প্রতিটি স্থগিত বা শাটডাউন করার সময় সিস্টেমটি এটিই করে।
psusi

5

কি eject /dev/sdX? আমার সেটআপে, এই ড্রাইভটি সামঞ্জস্য করে, সিঙ্ক করে এবং ক্ষমতা দেয়।


4
আমি ইএসটিএ-র সাথে সংযুক্ত একটি ডিস্ক দিয়ে এটি চেষ্টা করেছিলাম কিন্তু কমান্ডটি "হটপ্লাগেবল নয়" বা কিছু দিয়ে ব্যর্থ হয়েছে।
লেকেনস্টেইন

1
আফাক প্ল্যাগেবল ডিস্কটি ডিভাইসটি না করে বের করে দেয়। এটি নির্ভর করে যে ব্লক ডিভাইস ড্রাইভারটি সরঞ্জাম ioctl()দ্বারা ব্যবহৃত অপারেশনকে সমর্থন করে eject। ইসটা হার্ড ডিস্ক ড্রাইভগুলি এটি সমর্থন করে না, তবে অপটিক্যাল ডিভাইস, ফ্লপি এবং সম্ভবত ফ্ল্যাশ ড্রাইভগুলি হ্যাঁ।
ব্যবহারকারী 259412

2

আমার কাছে স্ক্রিপ্টগুলির একটি জুড়ি রয়েছে যা উইজার্ডের উত্তরের ভিত্তিতে তৈরি করে । প্রথমটি scsi-dropহ'ল নিরাপদে একটি একক ডিস্ক বিচ্ছিন্ন করা:

#!/bin/sh

if test -h "$1"
then
    disk=$(chase "$1")
else
    disk="$1"
fi

if test -b "$disk"
then
    echo 1 >/sys/block/$(basename "$disk")/device/delete
else
    echo "$0: not a block device: $1" >&2
    exit 1
fi

এর প্রধান উপকারিতা হ'ল আপনি এটিকে একটি সিমিলিংক পাস করতে পারেন যেমন পাওয়া গেছে /dev/disk/by-id/এবং এটি এটি আসল ডিভাইসে সমাধান করবে। এটি chaseইনস্টল করা প্রয়োজন; আপনি একই ফলাফল ব্যবহার করতে সক্ষম হতে পারে readlink -e

দ্বিতীয় স্ক্রিপ্ট, scsi-rescanএকটি নতুন ডিভাইস হটপ্লাগ করার পরে ব্যবহৃত হয়:

#!/bin/bash

exec tee /sys/class/scsi_host/host*/scan <<<'- - -' >/dev/null

এটি সমস্ত অ্যাডাপ্টারগুলিকে ডিভাইসগুলির জন্য পুনরায় স্ক্যান করে। আমি কেবল নতুন ক্ষমতা এবং পার্টিশন টেবিলটি পড়ার ব্যবস্থা করেছিলাম।


0

প্রকৃতপক্ষে, শক্তি হারিয়ে গেলে Sata ড্রাইভগুলি স্বয়ংক্রিয়ভাবে মাথাগুলি পার্ক করে। ড্রাইভটি এখনও ঘুরপাক খাওয়ার সময় টানলে সমস্যাগুলির ফলস্বরূপ হওয়া উচিত নয়। তবে, স্পিনিং ডিস্কগুলি ডুবিয়ে ফেলা হলে ডিংসের ঝুঁকিপূর্ণ। আপনি যখন শুনতে পান শক্তিশালী শক্তি বা সৌর শিখায় এটি শুনতে পারেন।

বেশিরভাগ ক্ষয়টি সাধারণত বাফার ইত্যাদিতে নিখরচায় ক্যাশে এবং অনির্দিষ্ট লেখার কারণে ঘটে থাকে ... এ কারণেই আপনি কোনও ড্রাইভ অপসারণ করার আগে এটি আনমাউন্ট করা আবশ্যক। এসসিএসআই কমান্ডটি কেবলমাত্র ভাল পরিমাপ এবং একই প্রান্তে কাজ করে।

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.