Làm cách nào để sử dụng Lưu trữ Instance Store Lưu trữ trên mạng trong EC EC2?


18

Theo AWS, tôi có dung lượng lưu trữ 850 GB với máy chủ Medium EC2. Nhưng khi tôi tạo Amazon Linux AMI, tôi không thể sử dụng 850 GB được cung cấp.

Trong khi tạo, nó sẽ hiển thị trong Cấu hình thiết bị lưu trữ trong Instance Store Tập rằng thiết bị của nó sẽ được đặt tại / dev / sdb, nhưng khi tôi khởi động VM, tôi chỉ tìm thấy / dev / sda1.

Bạn có thể vui lòng giúp tôi trong việc lưu trữ này? Cảm ơn bạn

Ngoài ra, khi Amazon tuyên bố rằng lưu trữ cá thể không an toàn khi sử dụng lâu dài và nên sử dụng EBS, thì điểm của 850 GB đó là gì?

Cảm ơn


Loại cá thể cụ thể nào bạn đang cố chạy? c1.medium? m1.medium? thứ gì khác?
Eric Hammond

1
Đây là hai tài nguyên tuyệt vời để tìm hiểu về lưu trữ cá thể trên EC2: docs.amazonwebservice.com/AWSEC2/latest/UserGuide/ , và docs.amazonwebservice.com/AWSEC2/latest/UserGuide/,
Eric Hammond

Câu trả lời:


10

Việc sử dụng lưu trữ cục bộ không liên tục khi dừng một thể hiện khá đơn giản: Đó là một khối không gian rất lớn hữu ích cho những thứ nhất thời. Chúng là mục tiêu hoàn hảo để gắn kết /tmpvà cực kỳ hữu ích nếu máy chủ của bạn xử lý các tệp rất lớn tạm thời.

Ví dụ: nếu bạn đang xây dựng một nhóm phiên bản để thực hiện dịch từ giọng nói thành văn bản của các tệp video đã tải lên, thì bộ lưu trữ cục bộ sẽ là thứ bạn muốn đặt các tệp đang xử lý. Nó có thể ở đó trong vài giờ trong khi tệp được xử lý, nhưng sau khi hoàn thành, nó có thể bị xóa và một cái khác được đưa lên. Bạn không cần EBS cho điều đó và sẽ rẻ hơn rất nhiều khi chạy loại lưu trữ đó ra khỏi ví dụ - cục bộ thay vì EBS.

Lưu trữ cục bộ có nghĩa là được sử dụng làm không gian đầu để chạy xử lý, không lưu trữ lâu dài. Nếu khối lượng công việc của bạn không sử dụng không gian đầu cho bất cứ điều gì hoặc những gì nó cần quá nhỏ để không đáng kể, thì đó không phải là một công việc phù hợp với bạn.


16
Lưu trữ tạm thời hoặc kho lưu trữ cá thể vẫn tồn tại trong suốt quá trình khởi động lại một thể hiện! Nó không tồn tại trên một điểm dừng / bắt đầu, cũng không phải là chấm dứt, cũng không phải là một số lỗi phần cứng. Đây là một bài viết tôi đã viết về sự khác biệt giữa khởi động lại và dừng / bắt đầu: alatural.com/2011/09/ec2-reboot-stop-start
Eric Hammond

27

Nếu nó chưa được gắn kết trong eg / mnt và nếu nó chưa có hệ thống tập tin được tạo thì hãy làm:

  1. Kiểm tra tên thiết bị

    sudo fdisk -l

  2. Tạo thư mục đến nơi bạn muốn gắn âm lượng

    sudo mkdir / mnt

  3. Tạo hệ thống tệp trên ổ đĩa của bạn (đảm bảo bạn chọn đúng ổ đĩa vì điều này tạo ra một hệ thống tệp mới trên ổ đĩa)

    sudo mkfs.ext4 / dev / xvdj

  4. Khối lượng gắn kết

    gắn kết sudo -t ext4 / dev / xvdj / mnt

  5. Nếu bạn muốn duy trì mount sau khi khởi động lại, hãy mở / etc / fstab và thêm mount vào nó

    echo "/ dev / xvdj / mnt auto noatime 0 0" | sudo tee -a / etc / fstab

  6. Đảm bảo không có gì sai với fstab bằng cách gắn tất cả

    gắn kết -a


5
Tùy thuộc vào loại thể hiện, trước tiên bạn cần đính kèm khối lượng lưu trữ cá thể vào thể hiện bằng cách sử dụng các tùy chọn ánh xạ khối thiết bị. Nếu bạn không làm điều này, bạn thậm chí có thể không nhìn thấy các thiết bị dưới / dev
Eric Hammond

Nhận xét của @ EricHammond thực sự là câu trả lời cho nhiệm vụ của tôi - Tôi đã không thấy họ ở bất cứ đâu - ngay cả trongfdisk -l
Peter V. Mørch

Nếu bạn không thấy thiết bị hãy thử sử dụng lsblk.
volker238

Các hướng dẫn này gắn kết âm lượng cho tôi, nhưng cố gắng ghi một tệp mới vào ổ đĩa sẽ cho "quyền truy cập bị từ chối". Tôi không thể sắp xếp những gì sai với các quyền. Có ý kiến ​​gì không?
MikeB

lsblk -flà cách tốt nhất để tìm khối lượng đĩa - bất kỳ ổ đĩa nào được gắn sẽ được hiển thị với đường dẫn gắn kết và nó hiển thị nhãn cho ổ đĩa (được khuyến nghị sử dụng UUID hoặc nhãn khi gắn hệ thống tệp trên Linux).
RichVel

1

Tôi đã tạo một tập lệnh cho Ubuntu có thể chạy khi khởi động và sau một chu kỳ bắt đầu / dừng vì trong thế giới AWS đó là hai điều rất khác nhau. Khi bạn khởi động lại, bạn vẫn có cùng một đĩa phù du và tất cả những gì bạn phải làm là mount (/ etc / fstab sẽ tự động xử lý việc này) nhưng khi một phiên bản bị dừng và sau đó khởi động lại, bạn sẽ nhận được một đĩa phù du chưa được định dạng mới, cần nhiều tình yêu hơn để có được sẵn sàng để sử dụng. Miễn là bạn có mục nhập / etc / fstab chính xác, bạn có thể chạy nó bất cứ lúc nào và nó sẽ gắn / định dạng thiết bị khi cần. nó sẽ lấy tham số của điểm gắn kết nhưng nếu không được cung cấp, nó sẽ giả sử / mnt Bạn có thể gọi tập lệnh mount_ephemeral.sh và chạy như root trong dịch vụ khởi động.

#!/bin/sh
set -e
mountPoint=${1:-'/mnt'}
rawDevice=$(grep "\s$mountPoint\s" /etc/fstab |cut -f1)
#echo checking $mountPoint on $rawDevice
[ "$rawDevice" = "" ] && { echo -e "$mountPoint not in /etc/fstab"; exit 1; }
mountpoint -q $mountPoint
[  "$?" = "0" ] && { echo -e "$mountPoint mounted"; exit; }
hasFS=$(blkid |grep $rawDevice)
[ ! "$hasFS" = "" ] && { echo -e "$mountPoint has FS:$hasFS"; mount $mountPoint; exit; }
echo initializing $mountPoint on $rawDevice
mkdir -p $mountPoint
mkfs.ext4 $rawDevice
mount $mountPoint
chmod 777 $mountPoint
exit 0

Tôi không thích sử dụng /mntnhư một điểm gắn kết cho các tập, bởi vì quy ước /mnt/foođược sử dụng cho mỗi tập. Nếu bạn phải gắn một âm lượng khác vào một lúc nào đó /mnt/bar, điều đó có nghĩa là /mntâm lượng không đếm được không thể được thực hiện trong khi /mnt/barđược gắn. Điều grepnày rất nguy hiểm nếu bạn đang sử dụng /mntvà có các điểm gắn kết như /mnt/foo, vì /mntcó thể khớp với một số dòng - vì vậy, trong một số trường hợp, tập lệnh có thể gắn hoặc mkfs vào đĩa sai.
RichVel

Nó sẽ không tìm thấy các thú cưỡi tương tự khác vì nó phải khớp chính xác. Vấn đề là khoảng trắng được sử dụng trong fstab của bạn cần khớp với giá trị được trích dẫn trong grep. Tôi đã cập nhật để sử dụng \bnhưng YMMV. Đây /mntchỉ là một mặc định bạn có thể thay đổi chính mình và chỉ là một ví dụ. Ngoài ra, bạn có thể chuyển một tham số cho tập lệnh và nó sẽ sử dụng điểm gắn kết đó để thay thế. Tôi sẽ thêm vào set -eđể bất kỳ thất bại nào chấm dứt toàn bộ kịch bản
DanJGer

chỉnh sửa: thay đổi từ \bthành\s
DanJGer

0

Việc gắn cửa hàng cá thể cũng phụ thuộc vào hình ảnh:

http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/add-instance-store-volume.html

Khi bạn khởi chạy một thể hiện, ánh xạ thiết bị khối mặc định được cung cấp bởi AMI được chỉ định. Nếu bạn cần khối lượng lưu trữ cá thể bổ sung, bạn phải thêm chúng vào thể hiện khi bạn khởi chạy nó. Lưu ý rằng bạn cũng có thể bỏ qua các thiết bị được chỉ định trong ánh xạ thiết bị khối AMI.

Một số hình ảnh sẽ sử dụng tất cả các tài nguyên có sẵn.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.