Thứ Tư, 21 tháng 1, 2026

Sử dụng NFS với ASM

Cả ASM và NFS đều cung cấp bộ nhớ dùng chung cho các hệ thống RAC, nhưng hai công nghệ này có thể được kết hợp, cho phép ASM truy cập các tệp được chia sẻ qua NFS. Tại sao bạn lại muốn làm điều này? Trong hầu hết các trường hợp, có lẽ bạn sẽ không cần. Nếu bạn đã sử dụng NFS, việc thêm lớp ASM sẽ làm phức tạp thêm không cần thiết, nhưng có một số trường hợp nó có thể hữu ích:

  • Bạn muốn tận dụng chức năng cân bằng lại của ASM ngay cả khi bạn đang sử dụng NFS làm bộ nhớ chia sẻ.
  • Bạn có nhiều tầng lưu trữ (DAS/SAN và NAS) và muốn tất cả chúng được quản lý bởi ASM.

Bài viết này hướng dẫn các bước cần thiết để kết hợp NFS và ASM cho lớp lưu trữ chia sẻ của bạn. Tôi đang đề cập cụ thể đến phiên bản 11gR2 trở lên, nơi ASM là một phần của cài đặt Grid Infrastructure, nhưng phương pháp này cũng sẽ hoạt động với các phiên bản trước đó.

Các hướng dẫn trong bài viết này là chính xác đối với Oracle Linux 6 (OL6). Tôi được biết chúng không hoạt động với Oracle Linux 7 (OL7), nhưng tôi chưa thử để xác nhận.

  • Thiết lập chia sẻ NFS
  • Thiết lập gắn kết NFS
  • Tạo tệp được chia sẻ
  • Sử dụng ASMLib

Các bài viết liên quan.

Thiết lập chia sẻ NFS

Trên máy chủ NFS trung tâm, hãy tạo một thư mục để chứa các tệp được chia sẻ.

# mkdir -p /u01/VM/nfs_shares/asm_test

Thêm dòng sau vào tệp "/etc/exports". Các tùy chọn xuất rất quan trọng, vì vậy đừng thay đổi chúng trừ khi bạn hiểu lý do tại sao bạn làm vậy.

/u01/VM/nfs_shares/asm_test *(rw,sync,no_wdelay,insecure_locks,no_root_squash)

Hãy đảm bảo rằng tiến trình nền NFS đang hoạt động.

# chkconfig nfs on
# service nfs restart

Thiết lập gắn kết NFS

Trên mỗi máy cần truy cập vào hệ thống tập tin NFS, hãy thực hiện các thao tác sau.

Tạo một thư mục làm điểm gắn kết cho các thư mục chia sẻ NFS.

# mkdir -p /u01/oradata
# chown oracle:oinstall /u01/oradata

Thêm dòng sau vào tệp "/etc/fstab", trong đó "nas1" là tên của máy chủ NFS. Các tùy chọn gắn kết rất quan trọng, vì vậy chỉ thay đổi chúng nếu bạn biết mình đang làm gì.

nas1:/u01/VM/nfs_shares/asm_test /u01/oradata nfs rw,bg,hard,nointr,tcp,vers=3,timeo=600,rsize=32768,wsize=32768,actimeo=0 0 0

Gắn kết hệ thống tập tin và thiết lập quyền sở hữu.

mount /u01/oradata
chown -R oracle:oinstall /u01/oradata

Tạo tệp được chia sẻ

Chúng ta có thể sử dụng lệnh "dd" để tạo một số tập tin trống để trình bày cho ASM như các thiết bị. Vì đây là các tập tin được chia sẻ nên việc này chỉ cần thực hiện một lần bất kể đó là phiên bản đơn lẻ hay cài đặt RAC. Ở đây tôi tạo 5 tập tin riêng biệt có dung lượng 10 GB.

# su - oracle
$ dd if=/dev/zero of=/u01/oradata/asm_dsk1 bs=1k count=10000000
$ dd if=/dev/zero of=/u01/oradata/asm_dsk2 bs=1k count=10000000
$ dd if=/dev/zero of=/u01/oradata/asm_dsk3 bs=1k count=10000000
$ dd if=/dev/zero of=/u01/oradata/asm_dsk4 bs=1k count=10000000
$ dd if=/dev/zero of=/u01/oradata/asm_dsk5 bs=1k count=10000000

Các tệp này hiện có thể được trình bày trực tiếp cho ASM, tương tự như các thiết bị thô. Trong quá trình cài đặt lưới, bạn sẽ thấy màn hình "Tạo nhóm đĩa ASM". Nhấp vào nút "Thay đổi đường dẫn khám phá".

Nhập ký tự đại diện, ví dụ như "/u01/oradata/asm*", đại diện cho đường dẫn gốc của các tệp mà chúng ta đã tạo trước đó, sau đó nhấp vào nút "OK".

Khi bạn quay lại màn hình trước đó, các tập tin chúng ta đã tạo sẽ được liệt kê dưới dạng các ổ đĩa ứng cử. Bạn có thể sử dụng chúng giống như bất kỳ ổ đĩa nào khác.

Sử dụng ASMLib

Việc sử dụng ASMLib với NFS hiện không được hỗ trợ, vì vậy chỉ nên làm điều này nếu bạn muốn thử nghiệm với ASMLib. Tuyệt đối không nên sử dụng nó cho những việc quan trọng.

Để sử dụng ASMLib, chúng ta phải dùng lệnh "losetup" để làm cho các tệp trông giống như thiết bị khối. Thêm các dòng sau vào tệp "/etc/rc.local" trên tất cả các nút để chúng được chạy khi khởi động lại. Bạn cũng cần chạy thủ công 5 dòng đầu tiên từ dòng lệnh với quyền người dùng root trước khi có thể tiếp tục.

/sbin/losetup/dev/loop1/u01/oradata/asm_dsk1
/sbin/losetup/dev/loop2/u01/oradata/asm_dsk2
/sbin/losetup/dev/loop3/u01/oradata/asm_dsk3
/sbin/losetup/dev/loop4/u01/oradata/asm_dsk4
/sbin/losetup/dev/loop5/u01/oradata/asm_dsk5
/usr/sbin/oracleasm scandisks

Khi khởi động lại, ASMLib tự động quét các ổ đĩa, nhưng việc này diễn ra trước khi rc.local được chạy, vì vậy chúng ta cần đưa quá trình quét này vào đây để đảm bảo các ổ đĩa được nhận diện khi ASM khởi động.

Trước khi cài đặt ASMLib, bạn phải xác định phiên bản kernel hiện tại của mình.

# uname -rm
2.6.18-164.el5 x86_64
#

Tải xuống các gói RPM ASMLib phù hợp từ OTN . Trong trường hợp này, chúng ta cần:

Từ Oracle Linux 6 trở đi, trình điều khiển kernel oracleasm được tích hợp sẵn trong kernel UEK, vì vậy bạn không cần cài đặt gói này riêng biệt.

Cài đặt các gói bằng lệnh sau.

# rpm -Uvh oracleasm*.rpm

Cấu hình ASMLib bằng lệnh sau.

# oracleasm configure -i
Configuring the Oracle ASM library driver.

This will configure the on-boot properties of the Oracle ASM library
driver.  The following questions will determine whether the driver is
loaded on boot and what permissions it will have.  The current values
will be shown in brackets ('[]').  Hitting <ENTER> without typing an
answer will keep that current value.  Ctrl-C will abort.

Default user to own the driver interface []: oracle
Default group to own the driver interface []: dba
Start Oracle ASM library driver on boot (y/n) [n]: y
Scan for Oracle ASM disks on boot (y/n) [y]: 
Writing Oracle ASM library driver configuration: done
#

Tải mô-đun nhân bằng lệnh sau.

# /usr/sbin/oracleasm init
Loading module "oracleasm": oracleasm
Mounting ASMlib driver filesystem: /dev/oracleasm
# 

Nếu gặp sự cố, hãy chạy lệnh sau để đảm bảo bạn đã cài đặt đúng phiên bản trình điều khiển.

# /usr/sbin/oracleasm update-driver

Đánh dấu năm ổ đĩa dùng chung như sau. Thao tác này chỉ cần thực hiện một lần, từ một nút duy nhất.

# /usr/sbin/oracleasm createdisk DISK1 /dev/loop1
Writing disk header: done
Instantiating disk: done
# /usr/sbin/oracleasm createdisk DISK2 /dev/loop2
Writing disk header: done
Instantiating disk: done
# /usr/sbin/oracleasm createdisk DISK3 /dev/loop3
Writing disk header: done
Instantiating disk: done
# /usr/sbin/oracleasm createdisk DISK4 /dev/loop4
Writing disk header: done
Instantiating disk: done
# /usr/sbin/oracleasm createdisk DISK5 /dev/loop5
Writing disk header: done
Instantiating disk: done
# 

Việc này không cần thiết, nhưng chúng ta có thể chạy lệnh "scandisks" để làm mới cấu hình đĩa ASM.

# /usr/sbin/oracleasm scandisks
Reloading disk partitions: done
Cleaning any stale ASM disks...
Scanning system for ASM disks...
#

Chúng ta có thể thấy các ổ đĩa hiện đã hiển thị với ASM bằng lệnh "listdisks". Nên thực hiện thao tác này trên từng node để xác nhận chúng đã được hiển thị.

# /usr/sbin/oracleasm listdisks
DISK1
DISK2
DISK3
DISK4
DISK5
#

Các ổ đĩa hiện đã được cấu hình và sẵn sàng cho việc cài đặt cơ sở hạ tầng lưới. Trong quá trình cài đặt, thay vì phải thay đổi đường dẫn tìm kiếm ổ đĩa, giờ đây chúng ta sẽ thấy ổ đĩa mà chúng ta vừa đánh dấu là ổ đĩa ASM.


Để biết thêm thông tin chi tiết, vui lòng xem:

Hi vọng điều này sẽ hữu ích

=============================
TƯ VẤN: Click Here hoặc Hotline/Zalo 090.29.12.888
=============================
Website không chứa bất kỳ quảng cáo nào, mọi đóng góp để duy trì phát triển cho website (donation) xin vui lòng gửi về STK 90.2142.8888 - Ngân hàng Vietcombank Thăng Long - TRAN VAN BINH
=============================
Nếu bạn không muốn bị AI thay thế và tiết kiệm 3-5 NĂM trên con đường trở thành DBA chuyên nghiệp hay làm chủ Database thì hãy đăng ký ngay KHOÁ HỌC ORACLE DATABASE A-Z ENTERPRISE, được Coaching trực tiếp từ tôi với toàn bộ bí kíp thực chiến, thủ tục, quy trình của gần 20 năm kinh nghiệm (mà bạn sẽ KHÔNG THỂ tìm kiếm trên Internet/Google) từ đó giúp bạn dễ dàng quản trị mọi hệ thống Core tại Việt Nam và trên thế giới, đỗ OCP.
- CÁCH ĐĂNG KÝ: Gõ (.) hoặc để lại số điện thoại hoặc inbox https://m.me/tranvanbinh.vn hoặc Hotline/Zalo 090.29.12.888
- Chi tiết tham khảo:
https://bit.ly/oaz_w
=============================
2 khóa học online qua video giúp bạn nhanh chóng có những kiến thức nền tảng về Linux, Oracle, học mọi nơi, chỉ cần có Internet/4G:
- Oracle cơ bản: https://bit.ly/admin_1200
- Linux: https://bit.ly/linux_1200
=============================
KẾT NỐI VỚI CHUYÊN GIA TRẦN VĂN BÌNH:
📧 Mail: binhoracle@gmail.com
☎️ Mobile/Zalo: 0902912888
👨 Facebook: https://www.facebook.com/BinhOracleMaster
👨 Inbox Messenger: https://m.me/101036604657441 (profile)
👨 Fanpage: https://www.facebook.com/tranvanbinh.vn
👨 Inbox Fanpage: https://m.me/tranvanbinh.vn
👨👩 Group FB: https://www.facebook.com/groups/DBAVietNam
👨 Website: https://www.tranvanbinh.vn
👨 Blogger: https://tranvanbinhmaster.blogspot.com
🎬 Youtube: https://www.youtube.com/@binhguru
👨 Tiktok: https://www.tiktok.com/@binhguru
👨 Linkin: https://www.linkedin.com/in/binhoracle
👨 Twitter: https://twitter.com/binhguru
👨 Podcast: https://www.podbean.com/pu/pbblog-eskre-5f82d6
👨 Địa chỉ: Tòa nhà Sun Square - 21 Lê Đức Thọ - Phường Mỹ Đình 1 - Quận Nam Từ Liêm - TP.Hà Nội

=============================
cơ sở dữ liệu, cơ sở dữ liệu quốc gia, database, AI, trí tuệ nhân tạo, artificial intelligence, machine learning, deep learning, LLM, ChatGPT, DeepSeek, Grok, oracle tutorial, học oracle database, Tự học Oracle, Tài liệu Oracle 12c tiếng Việt, Hướng dẫn sử dụng Oracle Database, Oracle SQL cơ bản, Oracle SQL là gì, Khóa học Oracle Hà Nội, Học chứng chỉ Oracle ở đầu, Khóa học Oracle online,sql tutorial, khóa học pl/sql tutorial, học dba, học dba ở việt nam, khóa học dba, khóa học dba sql, tài liệu học dba oracle, Khóa học Oracle online, học oracle sql, học oracle ở đâu tphcm, học oracle bắt đầu từ đâu, học oracle ở hà nội, oracle database tutorial, oracle database 12c, oracle database là gì, oracle database 11g, oracle download, oracle database 19c/21c/23c/23ai, oracle dba tutorial, oracle tunning, sql tunning , oracle 12c, oracle multitenant, Container Databases (CDB), Pluggable Databases (PDB), oracle cloud, oracle security, oracle fga, audit_trail,oracle RAC, ASM, oracle dataguard, oracle goldengate, mview, oracle exadata, oracle oca, oracle ocp, oracle ocm , oracle weblogic, postgresql tutorial, mysql tutorial, mariadb tutorial, ms sql server tutorial, nosql, mongodb tutorial, oci, cloud, middleware tutorial, docker, k8s, micro service, hoc solaris tutorial, hoc linux tutorial, hoc aix tutorial, unix tutorial, securecrt, xshell, mobaxterm, putty

ĐỌC NHIỀU

Trần Văn Bình - Oracle Database Master