ทำไม resize2fs ผิดจำนวนบล็อกในพาร์ติชันของฉัน?


2

ฉันกำลังพยายามลดขนาดพาร์ติชันให้ตรงกับขนาดของพาร์ติชันอื่นในไดรฟ์อื่น ฉันได้ยินว่าก่อนอื่นฉันต้องย่อขนาดระบบไฟล์ให้ตรงกัน ฉันพยายามทำเช่นนี้ด้วยresize2fsแต่ถ้าฉันใช้ค่าใน

cat /proc/partitions
major minor  #blocks  name

 202        0  178257920 xvda
 202        1  178249871 xvda1
 202       32   47185920 xvdc
 202       33   47184896 xvdc1

แบบนี้

ubuntu@asdf:~$ sudo resize2fs /dev/xvda1 47184896

ฉันเข้าใจ

resize2fs 1.42.13 (17-May-2015)
The containing partition (or device) is only 44562467 (4k) blocks.
You requested a new size of 47184896 blocks.

ฉันมีปัญหา simliar partedเมื่อใช้

$ sudo parted /dev/xvda
GNU Parted 3.2
Using /dev/xvda
Welcome to GNU Parted! Type 'help' to view a list of commands.
(parted) resizepart 1 94371839
Error: The location 94371839 is outside of the device /dev/xvda.

ถ้าฉันพยายามทำresizepart 1 94371839'/ dev / xvda1' partedฉันจะได้Error: The location 94371839 is outside of the device /dev/xvda1.เมื่อมันอยู่ในช่วงบล็อกของอุปกรณ์ตามที่แสดงด้วย

sudo fdisk -l

Disk /dev/xvda: 170 GiB, 182536110080 bytes, 356515840 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos
Disk identifier: 0x00000000

Device     Boot Start       End   Sectors  Size Id Type
/dev/xvda1 *    16065 356515806 356499742  170G 83 Linux

นี่คือการขับรถฉันถั่ว ฉันจะรับค่าที่เหมาะสมสำหรับขนาดระบบไฟล์และขนาดพาร์ติชันเพื่อใช้กับresize2fsและได้partedอย่างไร?

คำตอบ:


2

resize2fsไม่ผิดจำนวนบล็อก มันเป็นเพียงการใช้บล็อก 4k ในขณะที่/proc/partitionsรายงาน 1k บล็อก

356499742 x 512B ส่วน = 178249871 x 1K บล็อก = 44562467 x 4K บล็อก

ด้วยpartedคุณสามารถกำหนดค่าหน่วยที่คุณต้องการใช้ ดูเหมือนว่าpartedจะใช้ MB เป็นค่าเริ่มต้นดังนั้นคุณจึงขอให้ปรับขนาดพาร์ติชัน 170GB เป็น 94TB ซึ่งจะปฏิเสธอย่างถูกต้อง

นี่เป็นวิธีหนึ่งในการทำอย่างถูกต้อง:

แยก / dev / sdb
GNU แยกส่วน 3.2
ใช้ / dev / sdb
ยินดีต้อนรับสู่ GNU Parted! พิมพ์ 'ความช่วยเหลือ' เพื่อดูรายการคำสั่ง
(แยก) หน่วยช่วยเหลือ                                                        
  หน่วย UNIT ตั้งค่าหน่วยเริ่มต้นเป็น UNIT

    หน่วยเป็นหนึ่งใน: s, B, kB, MB, GB, TB, กะทัดรัด, cyl, chs,%, kiB, MiB,
        GiB, TiB
(แยกส่วน) หน่วย kiB                                                         
พิมพ์ (แยก)                                                            
รุ่น: ATA VBOX HARDDISK (scsi)
ดิสก์ / dev / sdb: 524288kiB
ขนาดเซกเตอร์ (ตรรกะ / กายภาพ): 512B / 512B
ตารางพาร์ติชัน: msdos
ธงดิสก์: 

หมายเลขเริ่มต้นขนาดสิ้นสุดประเภทระบบไฟล์แฟล็ก
 1 1024kiB     205824kiB   204800kiB ext3 หลัก
 2 205824kiB 410624kiB 204800kiB หลักต่อ 3
(แยกออก) resizepart 1 200000                                              
คำเตือน: การลดขนาดพาร์ติชันอาจทำให้ข้อมูลสูญหายได้คุณแน่ใจหรือไม่ว่าต้องการ
ต่อหรือไม่?
ใช่ไม่ใช่? ใช่                                                               
พิมพ์ (แยก)                                                            
รุ่น: ATA VBOX HARDDISK (scsi)
ดิสก์ / dev / sdb: 524288kiB
ขนาดเซกเตอร์ (ตรรกะ / กายภาพ): 512B / 512B
ตารางพาร์ติชัน: msdos
ธงดิสก์: 

หมายเลขเริ่มต้นขนาดสิ้นสุดประเภทระบบไฟล์แฟล็ก
 1 1024kiB     200000kiB   198977kiB หลัก ext3
 2 205824kiB 410624kiB 204800kiB หลักต่อ 3

เอาล่ะฉันควรใช้ขนาดไหนเพื่อหาขนาดโดยไม่ต้องใช้เครื่องคิดเลข?
GameKyuubi

คำสั่งแต่ละคำสั่งที่คุณใช้มีเหตุผลที่ดีในการใช้หน่วยต่าง ๆ 4k, 1k หรือ 512b ฉันเกรงว่าคุณจะต้องสูญเสียเครื่องคิดเลขของคุณ
jlliagre

ดูการแก้ไขของฉันฉันสมมติว่ามีสิ่งเดียวกันเกิดขึ้นpartedหรือไม่
GameKyuubi

ปัญหามีความชัดเจนน้อยลงด้วย resizepart คุณควรคัดลอก / วางคำสั่งแบบเต็มและการตอบสนองเพื่อให้แน่ใจ
jlliagre

มีไม่มากไปกว่านั้นฉันแก้ไขคำถามของฉันเพื่อให้ชัดเจน
GameKyuubi
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.